Google Transit has now been rolled out for a few Canadian cities: namely, Vancouver, Montreal, and Fredericton. I tried asking it about a dozen or so common transit trips in Vancouver and it seemed to be both fast and accurate. For example, here is how to get from Edgemont Village, in North Vancouver, to the Tsawwassen Ferry terminal. Here is how to get from White Rock to Horseshoe Bay. It also knows about the Skytrain.
The Japanese version is especially impressive. It includes buses, trains, ferries, and domestic air travel.