I have been using
http://www.scheduleworld.com for a while to do just that. You use the funambol (google it) client on your phone to sync my calendar/tasks/contacts with scheduleworld (SW). Then SW syncs with google calendar (only calendar events as gcal does not do tasks). I set the funambol client to sync every 4 hours and forget about it.
I have different google calenders (gcal) for the different calendar categories on my phone. I can then share the calendar(s) with my wife's google calendar account and her gcal is also synced with SW and thus with her phone.
Her is a workflow for the setup:
I add task to my phone -> sync to SW -> sync to gcal -> sync to wife's gcal -> sync to SW -> sync to wifes phone. (same if my wife adds something)
This is all done in the background and once I set it up, I dont have to worry about it.
I also have it set up so that if I dont add a calendar event on my phone to a specific category, it wont sync with my wifes phone. This makes it so I (or my wife) do not have to sync everything on our calendar, which is nice.
Check out SW, its pretty sweet.
(ps, I did not proof read this so if it doesnt make sense...oops!)