Sounds like your horse is on his forehand through the change.
Try doing the transition at a pretty slow trot, almost collected, but slower than a working/normal trot, think up when asking for canter, and almost think backwards too - sit up and ask for a collected/slow canter. This will encourage both you and your horse to drive from the behind which will make him change from the hind.
Keep in mind this may be quite hard for your horse to start, may even need the whip just to encourage the sharp up transition without getting faster.
Then when asking for the change in canter, again, same thing, nice steady round over his back canter and ask for the change to the same or a even slower canter. Remember to sit up.