This is of interest (maybe) to those of you (Kevrock) who deploy o365 to companies on a regular basis. I'm playing with a new method to make this work - specifically, I'm exporting all their mail from their existing server, creating their Office 365 container, adding their domain and verifying it, adding the user accounts but NOT completing the domain DNS entries.
At that point, I'm configuring Outlook 2013 with connections to the new Office 365 accounts using manual configuration. You'll need to use PowerShell to get the GUID for each domain (d380c7eb-1c1a-43a3-a677-41bc73c57e87@example.com as an example) that you'll use for the server entry in the manual config. You'll also need to just ignore/no the autodiscover prompts when Outlook is opened because it'll want to connect you to their live site assuming proper configuration.
The way I'm currently using this is for a remote heavy security company. Lots of field employees who only use email on their phone. By uploading the mail ahead of time, they'll have their mail, calendar and contacts instantly out the gate. For the in house employees, I'm doing much the same by preloading an Outlook profile. Autodiscover is fighting me harder in house since it's got more than just an external DNS and 443 connection - it can go straight to the server. Haven't nailed down that part yet, but will update if I do.
Here's the article on how to configure the profile (and the Azure commands needed to get the GUIDs):
http://blog.bittitan.com/2014/11/25/how-to-manually-configure-outlook-for-office-365/There's a second option to this that I used for moving companies from one Office 365 container to another - buy a cheap .info or .xyz domain (like 3$ a year for reg) and use it to effectively do the web hosted version of an SBS swing migration with a transition server. Set up the throwaway domain completely, export mail from the current user's Outlook, config a profile for the new, upload it and let it all sync. Do this over a weekend well before the move to give it plenty of time of remoting in at night and letting it sync to be sure it's all there, but reverting back to user's normal profile so they can keep doing their work.
The night before (or morning of depending how phone reliant the office is) cutover the DNS, do one final export to the same PST you made before, not exporting duplicates, connect to the new profile and import (again without duplicates). They'll be up and operational with all mail, calendar and contacts immediately. If you use this method from an onsite Exchange box, you'll just need to change the default UIN for each account (doable with powershell). If you're changing o365 containers, you'll need to delete the old mailboxes and domain before you can add it to the new container of course. This takes between 15 and 30 mins for most accounts to start receiving mail but I had one server that didn't get the message for about 4 hours. Definitely better to cut the domain over the night before in most cases like this.
Been pretty pleased with the results so far. Customers are -really- happy to be able to get back to desktop Outlook in under an hour and have all mail, calendar and contacts available immediately; no sync delay as PST imports to new profile then syncs to phone. This is especially helpful for those giant OST files from the users that simply refuse to do any sort of email pruning whatsoever. Happy to answer any questions or discuss it on PM for those who do deploy o365. This is probably boring as hell for non-IT small business support folks.