Gmail for iPhone doesn't push right now. I have a ridiculous setup, but it works for me. I've used POP mail on my own domain for 11 years now. I got a .mac account a year and a half ago, and didn't really use the email piece until I got my iPhone, then tried it and really liked the benefits of IMAP. Unfortunately, the .Mac mail seems really unreliable to me, with messages randomly not being received for hours on end (on my desktop/laptop as well, not just the phone) as well as random and frequent downtime, so I then setup a Gmail account and tried that out. Well, I HATE gmail's refusal to let you create folders to sort mail, so I tried a Yahoo account. The push mail on Yahoo works fantastic; I receive emails as fast as SMS. I LOVE it; however, the stupid MMS workaround for sending to Verizon gets bounced when I send from yahoo, but usually works from Gmail.
So here's my setup that makes everything work:
My domain email --> forwards to my Yahoo
My .Mac email --> forwards to my Yahoo
My Gmail --> forwards to my Yahoo
Default mail account on iPhone: Gmail (sending pics uses default account, can't choose account, so added my Gmail, and set as default)
So I use Yahoo to receive ALL of my email, and send almost all of my email from it, except when mailing pics out from the iPhone, which uses gmail, since Verizon usually passes it. Sheesh..