There are tons of similar threads on here and pretty soon you will start getting a billion opinions from everyone. I've found that cost depends on a couple of factors: quantity you are buying, and distance between you and the supplier. If you have a LHBS they may ultimately be cheaper because you won't have to pay shipping on top of the ingredient price. But if you're like me, you may not and mail order is your best option. I'm in eastern NC and Atlantic brew supply is my go to online shop. They sell all grains by the ounce, their prices are comparable to most of the other online shops, and their customer service is great! Plus they are close, so my orders arrive quickly and I don't have to get overly concerned about yeast health in transit. I've also ordered from home brew supply and keg connection (both owned by the same company) great service, good selection, father away from me (they're both in TX) and grains have to be ordered by the pound or in premade 5 G kits.
Most of the online places will sell full sacks of grain at a discounted price, but then you have to store it and mill it yourself. All 3 of the shops I mentioned above will mill the grain for you (on small orders not full sacks), if desired, and offer single and double milling depending on your preference.
I've seen allot of people on here singing the praises of Midwest supply and Northern Brewer as well as adventures in home brewing, but I've never ordered from them so can't speak to their selection or service. If they are closer to you, it would certainly be worth looking into. Happy hunting.
Cheers!