It is much faster going from Cancun to Corozal then to San Pedro.
Going from Cancun to Belize City, you will pass Corozal and drive for about 1.5 (express bus) to 3 (regular bus) more hours.
The flight from Belize City and Corozal to San Pedro are both about 15-20 minutes.
The boat is about half an hour faster from Belize City than from Corozal.
It is probably cheaper going from Cancun to Belize City then to San Pedro.
Corozal - San Pedro is BZ$ 50 by (luxury) boat and BZ$ 95 by airplane.
By regular bus the ride to Belize City is BZ$ 9 and by express it is BZ$ 12.
Belize City to San Pedro is BZ$ 27 by boat and BZ$ 70 by airplane.