Here are the details
Send by Priority mail to Consulate in Buffalo. Included one prepaid self addressed Priority Mail envelope. Also, send the following:
1) Download and fill up visitor visa application form. Check mark the transit visa option in the form.
2) 2 Photographs
3) Passport
4) Copy of AP
5) Copy of Tickets
6) Copy of itenary
7) covering letter stating you wish to apply for a transit visa. State the journey dates through Canada.
8) Copy of 485 receipt.
Check at their web site if you are under Buffalo region (they cater only to Upstate NY), or send your application to the corresponding consulate for your region.
If you live close to a consulate it is easier if you apply in person. You need all the above (take originals too) and you get it the same day evening.
There is no visa fees for this. I send it on Friday and got the passports back the following Tuesday ( after 10 days). They return back all the documents u send.
BTW, my wife and kids flew Air Canada to India last week and were happy with the service. Only 2 issues:
- u need to do immigration and customs when you enter Toronto from USA. So pain of taking out luggage.
- they need a letter from the parent (me) that my wife is taking the children on holiday with my consent and not running away with them

While coming back expect US immigration to be done in Canada itself.