I've had a regular Gmail account for years. I recently obtained a personal domain and set up Google Apps on it (the free version).

I would like to migrate as much as possible of my existing Gmail account over to an account in the Google Apps for my domain. This includes but is not limited to email, documents, calendars, etc. - As much as possible.

Maybe a stupid question, but have you considered the other way around? add the new google apps mail account to your existing gmail account? I am at the moment in exactly the same situation and really want to hear your motivation to do it this way and not other way around :)
–
JP HellemonsOct 23 '12 at 8:20

In the section ‘Get mail from other accounts:’ Click on the link ‘Add a mail account you own’

A new window pops up, just follow the process of providing your Gmail Account information

Probably 2nd page into it, it will ask for username, password, etc. and it will have a drop down menu next to Pop server: select the 1st ‘pop.gmail.com’ in the list

do not check mark leave messages as gmail does not support it

Check mark label and give it a good label like: ‘My Gmail’ or something.

Then click Add Account and it will go through the verification. Once you verify the account. You are done.

Now you can go back to the inbox and you should see your ‘My Gmail’ label. Click on it and it should download all your emails from your Gmail account. Please note that you will lose all the emails in your Gmail Account.

Final step is to then go back to the Gmail Account and disable POP download and enable forwarding to your google apps email account.

On GMail contacts, use the Export option to export each group in Google’s CSV format. Then export one more CSV of “Everyone (All Contacts)”

On Google Apps contacts:

Use the Import option to import the CSV of Everyone, leaving the “Add these imported contacts to: ” option unchecked.

Then use the Import option to import each group in turn, checking the “Add these imported contacts to: New Group… ” option, and enter the name of the group.
-> Import calendar and import the ICAL entries to your calendar.2.

This is very easy to do for email at least. Just upgrade your Google Apps domain to Premier edition temporarily (you can get a 30-day free trial upgrade from a link available on your Google Apps dashboard). You'll have full access to the Gmail migration tool, which is excellent.

The outlook migration tool is just what it sounds like for Outlook, it bombs without Outlook on the computer. I couldn't find the Gmail migration tool anymore but found an official way here support.google.com/mail/answer/21289?rd=1
–
Elijah LynnOct 28 '14 at 22:23

Here's a tip about filters in Gmail.
I'm migrating Gmail -> Apps using POP and found it pretty inconvenient when all (auto-)labels were gone.
As many Gmail users do, I use filters which automatically labels incoming email.

Now: Google Labs to the rescue!

I enabled this on both my accounts:
"Filter import/export
by Luke B, Slava C, and the Data Liberation team

Export your mail filters as a file: back them up, share them, or save them before deleting so you can restore them later. Import one of these files to quickly add or restore filters. These options become available under Settings/Filters when you enable this Lab."

So. Easy. Just export all filters and then import them into your new account!