When I turn on auto sync it sync all my accounts like Google, Twitter, Facebook, BBM etc.
How can I set auto sync to sync only selected accounts so that only my Google or Twitter account will be sync?
Did you take a look at Settings → Accounts & Sync? (I'm not sure about Android 4.1+, but at least on my LG Optimus 4X this setting is there)
As the screenshot shows, here you can define what to sync. Green arrows to the right show what's to be sync'd, gray ones what not. For some apps, you even can tap the app to specify it more detailed.
For Android 4.2+: