Have you tried a chart? So he basically has to earn his rewards...i.e. time on the computer or whatever he is into. For example, if he loves playing on his xbox you can set a number of hours he gets, i.e. 2hrs. He then has to earn those hours in different ways i.e. not talking back = 1 hour, etc. If he talks back, he loses that hour. Take what he likes the most and use that on the reward chart.
Haver you read the book, Raising Our Children, Raising Ourselves? It will clear things for you. The more you do chart, punishment, and consequences the worse he will get. That's what happened to me with my oldest. Then I read that book and Aha, everything went clunk.
All these methods or nice ways to control him. He is smart. He still knows you are controlling and in a democratic society many kids are looking for more respect. After reading ROCRO I was amazed at the great kid I had. He just needed my respect and understanding.
The books gives hands on guide and real life examples.