If joining your new server as an additional domain controller, make sure Sysvol is shared and replicating via typing net share on a cmd prompt before moving any FSMO roles, I remember a few years ago a job I was on at a school where this became a major problem and ended up having to create a brand new domain to resolve it as we didn't have a lot of time to spend on troubleshooting it. If it doesn't happen straight away just wait it out and I'm sure it will be good to go.
If you use Sophos Enterprise Manager, uninstall it completely from your old server before installing on the new one as I've experienced problems with it creating the database installing on the same domain. Uninstalling saves these type of headaches.
Robocopy is a great tool to move data from one server to another, if your security groups/permissions are the same it can take them across with it and also if it gets interrupted for whatever reason, run it again and it will pick up where it left off. When doing this in the school holidays, I've setup the script to run it and kicked it off as I've walked out the door, next day everything is there waiting for you, so saves your time with that running out of hours especially if you have a lot of data.
Housekeeping the data is good, I know nobody wants to do it, but it's always a good time to think about it with a brand new server.
When you are happy with the setup, use an external hard drive to do a complete backup of the server, including a Bare Metal Recovery (BMR) backup. I actually have a full backup run every single evening in the early hours to go alongside our online backup, better to be safe then sorry is my way of thinking.
Finally testing, testing, testing is the best thing you can do before everybody wants to start using it, make sure all your permissions/GPOs do as you want them to etc.