I use a service called MemoToo and you can check out how I set it up on my blog. Although I don't have an iPhone, MemoToo suports it and there are a number of SyncML enabled application you can get for your iPhone.
If you go to http://memotoo.com and setup an account you can have your contacts synced with tons of services including:
- Google Contacts
- Google Calander
- Facebook (One way)
- LinkedIn (One way)
- Windows Live Contacts
- Yahoo Contacts
- Windows Mobile
- Vodafone 360 (this is a realy crap service though)
- And tones more
Its also ver cheap and you only need to pay £12 per year if you have more than 50 contacts. I have 2000+ and it work just fine.
I did have a couple of hours of De-duping to do afterwords with so many services, but once you have sone that once all is good. Most dups can be deleted, but if you have a contact on Facebook and LinkedIn it is better to merge them.
The problem I have with just using Gmail is that "I" have to keep my contacts up to date. Using this I can have accounts on LiinkedIn, Plaxo and all the other services that my contacts use and have all that data merges into a single point of truth. I even use UNYK even though I only have 13 contacts on there. This method lets all of your contacts use whatever service they like to update their contacts and all those updates flow into your address book. Its magic!