The Hazmat fees add a lot to the cost of powder and (usually) primers, regardless of whether you buy locally or mail order. The cheapest is to buy in bulk over the internet, either for yourself or go in with a reloading buddy or two. That will spread the hazmat fees over more pounds of powder, so it's not as bad.
http://www.hi-techammo.com
http://www.powdervalleyinc.com
You can sometimes find good buys on bulk powder from military surplus places, and this is often powder that was recovered from disassembled rifle ammo. The savings can be remarkable, if you're willing to work up a load based on that particular lot of powder. If you buy 1-4 eight pound jugs, it can be very worthwhile. Be mindful of local ordnances about storing flammables like gunpowder.
http://www.gibrass.com
I buy my powder locally. It's usually $14 to $18 a pound. I like to support the local stores when I can, and they order in bulk so their hazmat fees are spread over many pounds of powder too. I have heard the price of powder and possibly primers is going up in 2007.
I buy a lot of stuff from
www.MidwayUSA.com, but not powder and primers. The special shipping and hazmat fees are ridiculous. I think they take orders for another company and have them ship the powder and maybe a third company ships their primers?
I highly recommend Hi-Tech Ammo (link above) for primers. I bought 6000 primers recently and was pleasantly surprised with the cost. I think they ate the hazmat fees on my order. Hi-Tech also has very good prices on bullets. I bought 3000 nice pulled M193 bullets to reload .223 and they were 3.1 cents each.