A couple of thoughts:
- If this is a single Exchange Server, there isnt much value in putting the server in maintenance mode, though it wont really hurt . I assume you are doing this off hours anyway and will take a full Exchange aware backup before applying if this is a single Exchange Server - not in a cluster/database availability group.
- Restoring Guest snapshots isnt supported. If something happens, you will need to reinstall the server using the disasterrecovery switch and restore a good Exchange Full Backup
https://learn.microsoft.com/en-us/exchange/plan-and-deploy/virtualization?view=exchserver-2019
Some hypervisors include features for taking snapshots of virtual machines. Virtual machine snapshots capture the state of a virtual machine while it's running. This feature enables you to take multiple snapshots of a virtual machine and then revert the virtual machine to any of the previous states by applying a snapshot to the virtual machine. However, virtual machine snapshots aren't application aware, and using them can have unintended and unexpected consequences for a server application that maintains state data, such as Exchange. As a result, making virtual machine snapshots of an Exchange guest virtual machine isn't supported.
Recovering a server:
https://learn.microsoft.com/en-us/exchange/high-availability/disaster-recovery/recover-exchange-servers?view=exchserver-2019
You should run those prep steps each individually. Why? Because that ensure the correct permissions are applied to the Exchange Org
https://learn.microsoft.com/en-us/exchange/plan-and-deploy/prepare-ad-and-domains?view=exchserver-2019
E:\Setup.exe /IAcceptExchangeServerLicenseTerms /PrepareSchema
E:\Setup.exe /IAcceptExchangeServerLicenseTerms /PrepareAD
E:\Setup.exe /IAcceptExchangeServerLicenseTerms /PrepareAllDomains
As far as customizations, that refers to config files that may be modified and yes that is true. If you dont have any documentation or change logs from the previous people who supported your Exchange org, then I really wouldnt worry about it. Most likely they did not make changes and even if some were made, you probably wont notice if something is not working right and if you do, you do some searching to see what was probably changed.
But honestly, I would proceed and not worry about customizations if you arent able to track those down
The reality is, CU8 is out of support and CU19 contains many security updates your Org needs and that far out weighs anything else!
More if you havent seen this already.
https://practical365.com/exchange-server/installing-cumulative-updates-on-exchange-server-2016/