There hasn't been a half-decent Sonic game in a long, long time. That said, the Mario games haven't been awe-inspiring for a long time, although they've held up better with all of the brilliant spin-offs, such as Mario Kart (DS and Wii) and the handheld RPGs.
That said, Mario is such a poor character design, he's nothing short of a gimmick. I mean, he looks right at home on my Cement Factory Game & Watch (Yes, I have one), but he falls short of a the superhero Nintendo have turned him into.
Sonic, on the other hand, is a brilliant design. He looks great, has a far more original set of attributes (Mario is stuck with quality overalls and iconic exclamations), which matches his physical form and game style.
In the end, darting through the air in a blue ball of fun is inherently more exciting than waddling around yet another generic castle.