I posted this earlier this summer regarding Greyhound.
I spoke to a Guelph Greyhound driver who stated that Greyhound wants GO to "pick up the slack" in the region so that reductions can be made by GH. This driver also said that Greyhound will no longer have buses stay overnight, first in Guelph then Kitchener, instead having these buses 'deadhead' all the way from Toronto to Guelph and Kitchener to bring people back to Toronto. This means if a bus breaks down on way or is caught in traffic from Toronto you are screwed lol.
GO can not run express buses between Guelph/Kitchener and Toronto. The route is currently 'owned' by Greyhound. All GO can do is 'split' the route into Toronto, such as the express bus from Downtown Guelph to Bramela and then a train into Union. There are other options to get to Toronto on GO bypassing the 2 hour bus on the Kitchener/Georgetown line. I find the buses on the 407 GO route to York (Transfer at Meadowvale) or the Cooksville/UoGuelph route take an average of 1 hour and 30 minutes with a layover of 5 to 15 minutes depending on the trip - quicker then Greyhound in some cases and still get into Union Station.
BTW the GO Train is 1 hour and 30 minutes from Guelph in the morning/afternoon - about the same with Greyhound, but you don't get stuck in traffic
That afternoon 5pm and 5:30pm bus is a 2 hour ride now.
Greyhound even added a bus in the mornings from Guelph, now there are buses every 15 minutes starting at 530am until 7am