Fly into BUF, and then take the
Niagara Airbus to YYZ. I've done this many times after a trans pacific flight, and being that you're in a bus/van, you normally go to a separate lane at the border. Because these drivers are connected by radio, they normally know the best of the 3 border crossings to go through. The longest I've had to wait at the border was 20-30 minutes! Be sure to make reservations in advance to get a preferred timeslot, especially if you have an early return from BUF. They tend to pad some extra time going back in case of delays at the border, though they could drop you off at a nearby hotel close by BUF the night before your flight so that you can get some rest, then catch the hotel's shuttle to the airport in the morning.