Actually many say that the ATM gives the best exchange rate. HOWEVER, after messing with a few we have kind of given that up. It can be such a hassle and it is so easy to POP into a bank. We have an ATM card but really dont use it that much.
We do not seem to use that much foreign money anyway when we travel. Just for small items, bus fares, entrance fees etc. Most taxis take credit cards or US dollars and street vendors seem to really like US dollars. We always have some left and bring it home and have a "baggie" collection of many different currencys.