Well, mine at least.
After years of hesitation, I finally moved all my emails to gmail this week. It took a bit more than 1 day to move all my 200k+ emails accumulated over the last couple years. It took some tweaking to get everything right but I finally got a way to preserve the timestamp of all my emails when uploading them to gmail (something that gmail loader can't do). The trick is to setup an IMAP account, upload all emails on my hard drive, and let gmail to fetch them through POP access.
Compares to Apple Mail, there are both good and bad things about the gmail. I like to use labels to tag my emails, which makes organizing a lot easier. But gmail sometimes gets the grouping (they call it "conversations") wrong and the help say there's no way to fix that. This is very annoying but I guess one can't ask too much for such a great free service.
Several people asked about this so I thought it's worth to clarify how I uploaded my emails to preserve the timestamp.
The key is to setup an external email account (NOT gmail) that allows both IMAP and POP access. I did this using my web hosting service (1and1.com). After this external account is ready, I set up my Apple Mail (Mac OS 10.4) to access this IMAP account, drag and drop all emails on my hard drive to this IMAP account. At this point, I am just moving the emails from my hard drive to the external server (the gmail account is still empty).
After this is done and I verified all the timestamps were correct, I setup the POP access to this external account in my gmail. When gmail downloads the emails through POP access, all the timestamps were preserved.