Your rate limiting step in a migration is moving and synchronizing your email.
It's going to take weeks at a minimum if you have a site of any size. More likely it will take months.
Why? Because likely you have over 100 Gb of email files and that's just going to take a while to process and (thanks to the IMAP protocol) continuously synchronize until your cut-over date.
The IMAP protocol is a godsend for these purposes. So getting started early and watching the amount of data you have and have moved is going to be a key part of the process.
Sadly, no ready protocol exists for calendars, contacts, and tasks. So you need to one-off those and you should expect them to take hours just before cut-over.
That's why testing the snot out of everything is our mantra.