I have been waiting and finally it has arrived. FREE sync of Google Calendar and Contacts with the inbuilt iPhone over the air.
You need to
Back Up your data first but if you follow the steps shown at the preceeding link first, all will be well.
So now that you have backed up your data its time to set up Google Sync on your iPhone or iPod Touch device. Please follow the steps below as sourced directly from Google's pages.
Requirements and Upload
1. Make sure your device has version 2.2 firmware or above. You can check your current version by going to Settings > About > Version.
To upgrade, follow the instructions at http://www.apple.com/iphone/softwareupdate/.
2. Upload any Contacts and Calendars from your phone to your computer before proceeding. The iPhone will delete Contacts and Calendars during setup.
Learn how to upload your Contacts with iTunes: PC Users - Mac Users.
3. The contacts that are replaced on your device will be the contents of your My Contacts group. This is the only group supported at this time, so make sure to clean up your My Contacts before syncing.
Getting Started
1. Open the
Settings application on your device's home screen.
2. Open
Mail, Contacts, Calendars.
3. Tap
Add Account....
4. Select
Microsoft Exchange.

Enter Account Info
5. In the
Email field, enter the name of the account (anything you'd like).
6. Leave the
Domain field blank.
7. Enter your full Google Account email address as the
Username.
8. Enter your Google Account password as the
Password.
9. Tap
Next at the top of your screen.
10. A new
Server field will appear. Enter
m.google.com.
11. Press
Next at the top of your screen again.

12. Select the Google services you want to sync. Currently only Contacts and Calendar are supported.
Make sure that you have uploaded your data before proceeding.
13. Press Sync twice when warned about data loss.

You've set up Google Sync for your iPhone. Synchronization will begin automatically if you have Push enabled on your phone. You can also open the Calendar or Contacts app and wait a few seconds to start a sync.
Tip: If your business, school, or organization uses Google Apps, your administrator will first need to enable ActiveSync before you can take advantage of this feature.
A little extra info if you use Google Apps!
If you have google apps, on your phone go to m.google.com via Safari. At the bottom of the screen there is a link for "Google Apps user? Tap to configure for your domain.
Once you are logged in you can select sync and get to the options you need.
It didn't do it for me the first time but I did get it to work and I now have my Main calendar, Personal, Public Holidays and Weather showing.
Only thing left to do is find a way to make the colours the same on iPhone as in Browser.