Assuming you don't need to withdraw more than your daily limit, Bank ATM machines often give the best exchange rate. Most cards from the US should work, particularly for withdrawals against checking accounts, rather than savings accounts.
I would avoid Royal Bank and Desjardins, as they will both charge approximately $3 for the transaction. Banque National, Bank of Montreal and TD Canada Trust do not charge a fee when using a foreign card. I don't know about the others. Of course, you'll also probably pay a transaction fee to your bank. The exchange rate used should be within a penny or so of the official bank rate.
With regards to the foreign ATM fees that your own bank charges, you can get those refunded to varying degrees depending on your relationship with your bank and well, your charisma, good looks, etc
The last time I tried doing that with Fleet Bank, it took quite a bit of persuading before they agreed to a 100% refund in foreign ATM fees which amounted to over USD50. Maybe the folks at the other banks might be more accomodating.
In any case, the currency exchange issue has already been discussed quite extensively in previous threads, for more info, check out the following:
The advice given with regards to ATMs is solid. You will get the prevailing official exchange rate in most cases. There is no hotel that will give you a fair exchange rate. The same is true for airport currency exchange. If I absolutely need money at the airport, I get it from an ATM. For that matter most retail places will not do so these days. For instance, the exchange rate in Thursdays is now 20% premium on the dollar, the worst it has ever been in my experience from visiting Canada since the early 90's. The Canadian dollar peaked at a 10 year high against the USD last Friday. I think the USD could go lower. I think this is a much needed adjustment. The USD has been artificially high for some time now and this adjustment is one headed in the direction of reality.
CALFOREX will exchange any amount for a flat fee of 2.50 CDN. This place is in my opinion the best place to do business in Montreal as well as Toronto. I use the office in the Annex in Toronto as well as the St. Catherine/Peel location in Montreal. Their rate is generally within 1 or 2 cents of the official rate. Avoid at all costs any place that wants to charge a commission. Not only will these guys charge a percentage, but their base exchange rate is rape as compared to Calforex. AVOID banks who not only charge a commission, and discount the official exchange rate, but impose a maximum 500CDN limit on conversion exchanges. CIBC and Toronto Dominion/TD Waterhouse are excellent places to do ATM exchanges and are plentiful in most Canadian cities.
As for cash strategies. It is a good idea to bring several thousand US in cash as seed money and supplement that with daily withdrawals from ATMS. You can legally bring 10K US without declaring the money. You can convert several thousand US at a time with no problem. I believe transactions above 3K require an ID. I'm always asked for ID so I'm not certain about that limit but I think it is somewhere around that. Note that your US daily limit becomes your Canadian dollar limit at an ATM although your account of course will be debited in USD. Both of these banks (CIBC and TD) are no fee at the source for ATM transactions. To circumvent this daily limit in CDN, CIBC has ATMs that dispense USD and will dispense your full limit in USD. If you find the 500CDN limit to be inadequate, get US cash from there and take it down the street to CALFOREX and you'll get the best deal possible under the circumstances.