Well, there is The Missing Sync. I must say that I once used Missing Sync for Windows Mobile with my old phone but it was never 100% perfect; I kept having problems with calendar syncing getting messed up (particularly with recurring events.)
I eventually switched to syncing with Google Calendar (I use Spanning Sync, which works fine for me, but there is also an app called Busy Sync which does the same.) And I sync my Address Book with gmail contacts using the built-in facility within Address Book. So, moving to an Android phone was perfect. For SMS syncing, I am using an Android app called "SMS Backup" which copies all messages to a label in my gmail account, and if I were going to want to copy music or video to my phone I would use DoubleTwist on the Mac.