I agree, but balance comes with time and work, so don't get too disheartened!
Also, when you're working in a trot, and he's moving too far away from you, slow the rythm with either you're rising, or your hips when sitting. It feels weird, but its better than having to use the reins. The half halts you use, make them soft and use them with your hips, or even use your voice so he realises, ah, so that's what it is!
Some people have the misconception that green horses may be a tad on the naughty side, however if he believes this is the correct way to go, he'll do it... leg is also very important for a green horse, be thankful you're only having to use leg though... and you'll have great muscles in no time!
If he's escaping through an outside shoulder, bring your outside hand lower, and use your half halts and outside leg to stop him. When you do this, keep the contact with the inside rein, but you don't have to use it, just focus on getting that shoulder in line. Duffy used to be a burger for putting me into the wall of the school! This helped me loads.
Work on circles, single and three loop serpentines, and transitions are so important! Walk to halt, walk to halt... when you get that correctly, trot to walk, trot to halt, then canter to trot/walk/halt will follow in time. Get the basics sorted, and then move on.
Also in the canter, if he throws his head down, and is trying to snatch the reins, my only suggestion would be.. wait for it.. leg. Even if its a pony club kick, if he learns to pull the reins and his head down, you have a problem as he'll start to use it as his fifth leg.
Because he's smooth in a canter/counter canter doesn't always mean he is well balanced, canter is a lot easier for a horse than trot.. because they're going places. If he's drifting in a canter, put your outside leg further back, and more weight in to the inside stirrup.
Personally, I would keep the snaffle in him, and keep the work up. He may be hard mouthed, or he might just not know what to do with it.
Also, ride on the second track of your school. If you ride a green horse on the outside track, he'll use the school walls to balance himself.
Hope this helps!