I guess since I have traveled internationally so much I just thought everyone knew how to get local currency, but it seems many do not.
Use an ATM. I do not like to carry large sums of cash with me because I tend to spend it so if I am going to a first world country I may only bring US$20 if I remember to bring cash at all. This means that I never have cash with me to exchange. What do I do? I just use the local ATM. In many countries the ATM doesn’t charge a fee like we are used to in the US. I also have an ATM card with a bank that does not charge fees on its end either (Capital One 360). This means at the ATM I can withdraw at very close to the interbank rate. No money changer at the airport or bank branch can do that.
On my last couple trips to Canada my coworkers would use USD (or credit card) at most places, but occasionally we encounter parking lots that require Canadian currency only. Since I hit up the ATM when I land and pull out CAD40 I am able to get us through. They asked me how the fees were at the exchanger and I said I just use the ATM and pay no fees. They had no clue they just needed to use the ATM.
Now, remember I said first world country. In Jamaica I made sure to bring a lot of small denomination USD since I knew that would be accepted as much as Jamaican currency. In Brazil I brought about $200 in $20s and exchanged at the airport since it was darn near impossible to find an ATM that would take my card (and at the time I had ING Direct and Wachovia) there and there were no ATMs I could find at the airport.
So, no need to bring wads of cash, no need to pay high fees and commissions at the airport or local money changers. Just bring an ATM card on a couple networks.
I highly recommend Capital One 360 (formerly ING Direct) since it has no foreign exchange fees, no ATM fees on their end (they do not reimburse other ATM fees though). Plus the account can have up to $1000 overdraft line of credit.
And…never assume a foreign country with their own currency will gladly accept US greenbacks. I prefer to use local currency (aside from the many countries in the Caribbean and Central America who use USD as much as local) because it doesn’t flag me as a tourist and it saves me from the business making up their own exchange rate that is usually not in my favor.