Here's the thing, Sonic's range sucks,Mario's is much better, you probably know this. Fireballs and grabbing are a good way to force him out of his spindash/spinmanuver, and put him in enough hit stun to connect a dash attack (I think you know some combos from there). Fireballs especially work in this situation. There's quite a few of Sonic's moves that have a lot of end frames (his up-tilt, his down smash, his dair, ext,) HOWEVER, at the same time, Sonic packs a lot of speed, and if you don't know how to get around that, you're in deep trouble. Sonic has a few moves that take priority over Mario's moves, and a couple of his moves cancel out a fire ball. Overall, if you know what you're doing as Mario, you shouldn't have too much of an issue taking Sonic out, contrary to what Turbo Tuesdays will tell you. However, you need to know how to deal with Sonic's tricks or else you're gonna get crushed.