The exchange rate offered varies daily and in Nov 2010 I found approx. 6% variation between the good sources (bank, ATM, licensed money changers) and up to 20% worse at the bad sources (hotels, restaurants, etc.). So it does pay to shop around. ATMs are pretty good, if your bank doesn't impose an overseas ATM fee (some do, some don't). Often within 3% of the best exchange rate. Banks (at a live teller) were typically 4-5% worse than the best rates. The licensed money changers vary amongst themselves by several percent, even ones on the same block, and often offer better than the interbank rate; so there is some arbitrage possibility (presumably it is Indonesians skirting foreign exchange monitoring

). Finally, for large transactions (e.g. villa rental) they prefer USD (new Franklins). The absolute worst choice is traveler's checks, those often got 10% worse exchange rate unless you cashed them at the issuer (and even then 5% worse); really a terrible choice, better off using ATM card instead! ATMs are everywhere (the airport ones are a bit more expensive, but maybe worth the convenience).