The trick to a smooth migration was pretty simple, and I was surprised that it was not really mentioned in the Google help forums (or I couldn’t find it).
A couple of weeks before switching the MX records, I had everyone’s new Google Apps Gmail accounts start POP-ing into their old email accounts. This started them using gmail without actually changing where the mail was stored.
This allowed me to make sure there were no technical issues and that everyone was familier with the new interface.
Then we switched the MX records and the email started flowing to Google. For the users, it was seamless, they were unaware that anything had changed.
Now I just have to figure out how to get Outlook to sync with Google Apps!