I've found that the cost can be rather high - quotations I received for my personal return ranged from $10-30k. I decided to do my own for that amount, so I've become increasingly familiar with how much worse they keep making the US tax code for expats.
The Canada/US tax treaty is quite important. One thing I recently learned is that under US law the proceeds of your life insurance paid to someone outside the US (like a Canadian spouse) who is not subject to US taxation is subject to a 30% withholding. Under the terms of the Canada/US tax treaty you can file a W-8BEN form and claim a tax treaty benefit, reducing that amount down to zero. There are other oddities - like if you take a premature withdrawal from a US IRA and live in Canada, the 10% penalty will count as a foreign tax for Canadian tax purposes, which effectively means you don't pay a penalty in almost all cases.
Oh, and I'd avoid Canadian TFSA's (10 pages of paperwork per TFSA account and it's not tax free under US tax law.) Canadian RRSPs are not so bad - that's a one page form. But only for Canada. Any other country with an IRA/401(k)/403(b) equivalent and you're filling out the 10 page informational return.
My favourite question: if you have an account with Ally Canada, is it a foreign bank under US law? Remember, it's 78% owned by the US Treasury.
If you REALLY want to make things difficult, try living in Canada with a same-sex spouse. How do you interpret the word "spouse" under the treaty? Pursuant to Canadian law or US law? Ah, the mind boggles.
The most expensive legal questions I've ever asked are about cross-border taxation. Last time I asked what I thought was a simple question it cost the company $12k.