I like to stop at the first bank I find after crossing the border, north or south bound. At their ATM I will take out $400cnd and this will last me till the return trip. Then on the return trip, the last day or so I will use any remaining cash to buy fuel, etc. our last trip in 2011, I ended up with just over $40cnd that I will use on the next trip.
The most important reason I like cash are for those times when a place is not taking plastic for fuel or food. I also like cash if I stop at bar for a beer ( if a person enjoys great beer, Canada is the place to be) or if I see kids running a lemonade stand, I will stop and spend some cash with them. A couple of times, at some of the provincial or Terrotorial campgrounds, I have dropped a personal check in the "pipe" if the place is on the honor system..eventually my checks clear my US bank. I make the checks out for enough to cover the foreign fee the agency will have to pay when they deposit my check.
The foreign transaction fee is so small, I just consider it to be part of the trip costs. I just enjoy the feeling of having enough emergency cash on hand, probably an age thing as I am now 71 and have been driving the Alaska highway for the last 51 years. Most Canadian businesses will accept US dollars but the exchange rate will be the worst you will find on the trip.
A couple of trips back, in the beautiful town of Niagra on the Lake, I paid for lunch with a $20 usd and the cashier quickly refi gutted my bill to US and since she had two cash registers, she then gave me my change in US currency. But you don't see that often other than on the border.
I read the other day that there are more US dollars circulating outside the US than inside the US.