tbh imma have to go with sonic (taking all my biases aside). he just emanates coolness and is very fun and cocky, with some character flaws. he can feel a wider range of emotions and expresses them well (expect the meta era tbh). Mario just feels like he has a small range of emotions and kinda has a lackluster uncreative design tbh
to be fair, sonic has had the luxury of being put into games with deeper lore, so his character is better.
(i do think mario's movie counterpart has a better personality than the games by 100%, but movie sonic still has that appealing arrogance and snarkiness that i love so much. movie Mario vs movie/game sonic is much more balanced, but i still have to go with sonic. he is so stylish and cool and badass and has deep emotions and care as well. he's the symbol of freedom and justice)