What about with cash? localbitcoins.com has a few cash offers in each city usually, and the prices are generally around 5%.
Buying with a credit card can be expensive because they might take it as cash back from your bank and you'll have to pay an extra 20% or something like that. I'd suggest staying away from credit cards and paypal in general because they always track you too.
Or if you have a bank account, there are lots of offerings on localbitcoins.com for around %2 depending on your location.
Another good source is Bisq because it's decentralized and anonymous.