Honestly, from my teams experience (which isn't all that much), sonic serves best as a support character, however, depending on your partner's playstyle, he can play aggressive as well. He gets around the stage easily and works to both aggravate his opponents and pick them off at high percents (or at 0 vs spacies and characters with easily gimpable recoveries). On the other hand, his movement is particularly hard to control in teams which can end up throwing you and your teammate off. Sonic's best "get off me" option is Nair, which comes out quickly (frame 4) but lacks range making his team's life volatile in close quarters against characters the likes of sheik. In my opinion, he works best with characters that are hard hitting and don't rely so heavily on movement. Also teaming with spacies tends to generally be a bad idea as one poorly chosen spin and they're off the stage. However, I've had success teaming with characters like metaknight and fox, so all in all, working on team synergy with a sonic will go a particularly long way. I hope this was helpful! And super duper good luck to you guys!