We'll be migrating one school from a FirstClass pilot to Zimbra in the fall.
Currently, our migration plan is ... leave it up to the user to manually forward stuff to their Zimbra account that they want to keep. We've fount, the hard way, that FC is a data sink (easy to get stuff into, next to impossible to get things out of).
Don't bother with imapsync, it won't work. FC IMAP is broken. Period. Even their product manager Scott Welch agrees that IMAP is broken (his suggestion for using IMAP is to have two separate FC accounts, one you access via the client, one you access via IMAP, and don't ever mix the two). They have no plans to fix IMAP, but will gladly advertise it as working in all their product literature.
You may be able to grab mailbox contents if you move all messages into the INBOX, mark them all as unread, and then use a POP3 client to pull the messages out. However, that is a lot of work, if someone has a bunch of folders/conferences under their mailbox.
And there's no way to grab conferences data (non-mailbox data).
We haven't even looked at exporting contacts or calendars. Theoretically, this should be easy, as there are export functions available. But we're thinking we may just leave the FC server running for a year after moving to Zimbra, so that users can access their old data. And after that time, just killing the FC server completely. Save us all a lot of time and effort.
This is one of the beauties of Zimbra: standards-compliant access to all the data, in all parts of the system!! Easy to migrate data into *AND* out of the system.