The best option is to trade in cash with a local dealer near you, they usually charge less. My local dealer charges like 6% fees only.
But it's kinda hard for people to find local dealers where bitcoins are like a sort of magic toy coming from the ground.
You can find some local dealers on localbitcoins, too. I agree that it might take some time at first to find a reliable local dealer, but once you find one, it becomes much easier to buy bitcoins later on as you can just hand them the cash after they send you the coins, so it's safe to use, especially using the local bitcoins mechanisms.