I had a very hard time finding a place that will fill canisters, some people have found a few places. After looking for a few months I decided to go with an exchange. I did find one place that refilled but their prices were nearly three times the exchanges. Some places will want you to enroll in an exchange program, when I looked into them near me the cost was just too much, it was around $100 a year, plus you had to give them a canister or buy one from then, and refills were $10, the main benefit of this is they delivered and would fill canisters up to 50 pounds. But if you live out in the middle of no where a program like this may save you money, considering fuel is now at least $3.50 a gallon (actually it's for 9/10ths of a gallon) almost everywhere.
I decided that an exchange would work better for me for a few reasons. The main reason was the price, I was able to buy a used 20 pound canister and exchange it for a filled one for less than the price of a shiny new one. Another part of the cost is the actual gas, near me it cost $4.50 to fill a 20oz paintball canister, so to get the same 20 pounds of co2 it would cost you $72 so you automatically save $50 when you fill it up, and with an exchange you will also save money from never having to pay for hydrostatic testing. The second reason was the fact that most (if not all) of the canisters are given a thorough check and then filled. My favorite bonus is the fact that the exchange is super quick, I am in an out of the store with a full canister quicker than I can unhook my regulator, usually the place I get mine filled at as soon as they see you carrying it in they go get you one from the back and meet you at the register. The biggest downfall is you won't always get the prettiest canister, but with a $1 can of spray paint you can paint a bunch of canisters, or if you are so inclined you can sew a "sock" or "sleeve" and slip it over your canister.