Hi,
I've done this kind of migration multiple times. The replies above cover most of the things to think about. One area we found extremely important was the avoidance of duplicates. In our latter migrations we actually imported our data into SFDC via Marketo to avoid SFDC creating duplicate data that may already be in Marketo. We used the API along with SFDC sync triggers to get the data across to SFDC. You may not need to do this if you are starting from an empty Marketo instance (i.e. no data at all).
Hi Cori,
We just got our new instance and we're starting the migration process soon. I definitely recommend an agency, we're using Elixiter, especially is you have a large tech stack. I also recommend having a clear date from your Salesforce team on when you can connect the new instances, and make sure they're involved with the configuration.