Long as your are not using your community in a sub-folder (e.g. example.com/community or something), all URLs will stay the same.
Your community should stay exactly the same as the software will be the same. If you are on an outdated release, you will need to upgrade as part of the process before we migrate you. Of which, you would need to work with your developer to upgrade the theme templates, if necessary.
If you have any issues which are a code issue with a customization, you will need to work with the author to resolve it. If it is an issue of the migration though, say you forgot to place a third party plugin's file in the backup we require, we can certainly resolve that for you.
It's a fairly straight forward process which our team will outline to you when you submit your request to our sales team but that process is usually, we agree on a date to do the migration, on that migration date you pass us your database and folders the community uses (e.g. the uploads, plugins, applications folders) and then our team handles the migration. Post-migration, you review the community and then we assign your domain/sub-domain.
Correct. We do not offer email hosting. We only offer a system to send emails out of our software.