Honestly... Speed + a little bit of power is all you really need to win a battle. Imo, Zelda/Sheik is the best. Sheik has nice smashes, and is 2nd/3rd fastest char in the game. Also, to beat those cheap people who sit back and shoot (ie pit, or falco) or hide, Zelda has a nice ranged attack (forward

. Also, if you time and aim Zelda's forward B properly, it's almost a guaranteed kill after like 4-5 hits (but kinda cheap).Also, Zelda's smashes are REALLY strong, and she has a reflector that does nice damage and has a nice radius. ALSO, when someone is above zelda, up+A in midair is crazy strong. Therefore, Zelda/Sheik pwns, and is my favourite.
I know that sonic is the fastest char in the game, but he's not the best because he can't shoot any projectiles, and is ridiculously weak. And his final smash is cool, but really cheap.