Dusty! No one responded =( Start with this. Go to training and slow the speed down to a half. Get the timing down and just double your speed when you do it normally. That's how I learn most timing things (Pit's arrow loop stuff for example).
Here's a massive tip:
Sonic is all about confusing the hell out of your opponent so that they make a mistake and let you attack them. There is not a single move that Sonic can abuse to approach/defend against an opponent. His priority and attacks in general are just too easy to avoid against smart users who can predict your approaches.
Learn to use the spin-charge attack (as a jump too, do the motion for the spin-shot, but with down B and make sure you're on the ground). you go further and faster with the down b then the forward b. You also do not lose your jump when using the down B. So you can bail out by jumping to dodge an attack that most likely will stop your approach and consider starting another spin attack/aerial/home atttack/spring attack option.
I'm going to take all my written down useful knowledge of Sonic and organize it in a manner that helps Sonic users everywhere become more effective with him (at least I hope).