I have a couple of customers that use an SFDC Custom Trigger to auto-convert Leads to Contacts. It's a 2-step process: (1) sync Lead (2) wait 30 seconds in Marketo, then change a field value (for example "Convert_Lead=True") and push to SFDC; this will trigger the Custom Trigger. The reason for the delay is that the native sync first needs to create the Lead and it needs to download the conversion information in the next sync cycle. If you convert immediately, it's just like the Lead never existed and Marketo is not updated correctly.
The challenge usually is to select the correct Account. Often, this is done based on Email Domain, but that's not always a 1:1 mapping to an Account. I've heard LeanData (a LaunchPoint partner) could potentially help with this: View LeanData Converter Data Sheet | datasheetLeanData
Unfortunately, the complexity is more than that: you might also have an existing contact that you would have to merge with on conversion and decide whether or not you would create an opportunity.