I have not passed thru Sumas or Abbotsford-Huntington since 1991 but had exchanged money in Bellingham at one time (like Wilber1 mentioned) in which back then they had a fair exchange rate you could get at an American bank during that time....since 1998 I had only exchanged currency within Canada because within Alaska, American banks here no longer provide favorable rates.
Since ATM machines were mentioned, I have yet to see any ATM's that provide Canadian loonies and toonies in which the OP was requesting however if there are any ATM machines that dispense loonies or toonies I would like to know.
The way I get loonies is at a bank dealing with a teller or simply asking some business establishment if they can spare some loonie exchange, I only been turned down twice in a handful of requests.