Wow, old thread.
I usually grab a wad of foreign cash here before heading to where ever I'm going [and taking my own advice earlier in the thread, I'll use my CC for big unexpected purchases or ATM some foreign cash if I run short when I'm there.]
However, I don't get foreign cash from my bank before leaving mainly because I don't find the exchange rate that great. But, they do waive that crazy forex fee because I have an account with them.
Nowadays, I've been going to a place called
Vancouver Bullion and Currency Exchange. They're only located in Vancouver and only have 3 locations. However, one is located in the heart of downtown so that branch should be convenient for most tourists, though that location is not open on weekends. The buy/sell rates for USD is excellent as they only shave a few point off for themselves and there is no hidden fees. What you see as the exchange rate is what you get. Obviously they shave more points for more "exotic" currencies. The other downside is that "the secret's out" and it can get pretty busy there (ie. I've been there when they've ran out of USD's). Though, I guess if you're exchanging in the other direction, it shouldn't be a problem

.
Anyways, highly recommend using VBCE instead of a bank. Easiest is if you just exchange cash. They take debit but I'm not sure if it's connected to Cirrus, Plus, whatever networks. Obviously don't take personal cheques.