If you can make it out to Vancouver, check out
Vancouver Bullion and Currency Exchange and
Charlie's Currency Exchange. The former will do a debit card transaction whereas the latter only does straight cash (a little sketchy but haven't any probs). Great rates and no fees.
The other option I've used is the no annual fee Chase Amazon.ca CC which doesn't have a forex fee either. If you preload it, you can do a cash advance (no interest with the negative balance) with the
Visa Exchange rate and a flat $5 fee.
We got the TD Select Service account with all the travel perks (eg preferred currency exchange, etc) recently but more for the retail banking perks. The preferred exchange rates still pale compared to VBCE and Charlies. They can only come close if you do like a $10k trade.