Here are The Traveling Professor's tips on changing currency overseas.
BEST
Use a Credit Card: I like to use a credit card whenever I can. Not only do I get a record of the transaction, there isn't a need to change currency. However, get a card without foreign transaction fees. Also, sometimes when making a charge overseas, you may be asked if you want the charge in US dollars or local currency (euros, for example). Always take the local currency.
ATM: If cash is needed, withdraw it from a larger bank or even an ATM at a Post Office. Your credit card probably has an allegiance with something called the Cirrus banking alliance - in that case, look at the ATM you are withdrawing from and make sure it has the same alliance in order to avoid fees and surcharges. It is extremely important to contact your bank(s) and let them know of travel plans in order to use the card without hassle. If used the right way, using an ATM to get cash avoids surcharges and fees.
Split and Pay: An easy way to pick up cash is at dinner. A simple example is this - let's say you go out to dinner with a companion and the bill is 100 euros and you agree to split it. Let your companion give you 50 euros in cash and put the 100 euros on your no-foreign-transaction-fee credit card.
WORST
Getting Cash at the Bank in Foreign Currency Before Departure: Expect lots of fees and surcharges. It might however, be a good idea to get a little cash in foreign currency if you know it is unavailable at the airport upon arrival.
Money Exchange Desks: Commonly found at airports, this is probably the worst deal that can be found.
Hotel Desk: Again, tons of fees and surcharges. A bad choice.
Traveler's Checks: A bad deal on top of not being widely accepted.