Gmail and google calendar are decent on iOS if you use the google sync interface. Don't even bother with the IMAP or pop3 interfaces (on the iPhone -- desktop clients should use the IMAP interface).
However, contacts may be a different story. Google sync is fine if you keep your contacts in one big steamy pile. It sucks if you use contact groups, because I don't think there's any good way of accessing google contact groups on iOS. This is the one and only reason why I use MobileMe -- I use google for mail and calendars, but MM for contact groups.