I’m familiar with Toronto, Peterborough and Oneonta and by far the fastest and simplest way from Peterborough would be to rent a car and bypass Toronto. It’s an uneventful drive, along wide and relatively empty highways: 401 East to Kingston/Thousand Islands, I 81 South past Watertown and Syracuse to Binghamton, then I 86 to Oneonta.
Or you could take a bus part of the way and rent a car from there. Greyhound and Megabus both have daily buses from Toronto to Syracuse and Albany, cities where car rentals are easily available.
You can also get a bus from Syracuse or Albany to Oneonta. Syracuse would involve less backtracking but I don’t know if the schedules and connections would work for you. The Trailwaysny.com site shows 3 daily trips from Syracuse to Oneonta and 6 from Albany.
I have to agree with Dewey Finn, don’t be tempted to fly to NYC and then take a bus from there. For one, the NYC airports are not at all conveniently located when it comes to getting to Port Authority Bus Station. And it’s a 5 hour bus trip from NYC, almost 2 hours of it along a hilly winding 2 lane road, Rt 28–scenic but not for the faint of heart.