Selectively restrict sync for some applications to wifi only
Go into Settings | Data usage. Then in the Mobile tab, you'll find a list of the applications that have recently used data.

Click on any of these applications and there will be a checkbox to restrict background data while the phone is using a mobile connection (as opposed to wifi).

I'm not aware of a way to control the sync frequency.