Great question — answering as the UphillTech team:
I work in a bank and from my experience the cheapest way to get cash: ATM (Debit Card) in Canada (best possible rate, unless you are dealing in large amounts). Change USD to CAD in Los Angeles. Change USD to CAD in LAX. (airport rates are higher) Change USD to CAD in Montreal. Change USD to CAD in YUL. (again, airport rates). ATM (Credit Card) in Canada. (credit card network surcharge + withdrawal fees make this the most expensive)
Full answer by Burhan Khalid: https://travel.stackexchange.com/a/39499 (CC BY-SA 3.0).
Want it for your business? UphillTech.