The best thing to do is to stop him
before he jumps up. Block him by placing yourself between him and the sofa or use a lead if you need to. Like when visitors are coming and you know he gets excited you can put a lead on him to stop him from jumping on the sofa.
If he doesn't obey without a treat then he does not know the command well enough, so keep training and in the meantime don't use it unless you know he is going to listen. In the beginning you give him a treat for every single successful repetition. But then once he starts to understand you should phase out the treats gradually, so for some repetitions you just praise, other times you give a treat. Don't be too predictable.
Unless he has any issues then you can actually physically remove him from the sofa. The best thing is if you can block him
before he jumps up. But if he jumps up then lift him gently but firmly down. Do not give any attention, just put him back on the floor. This will need repeating, cockers are forgetfull and need
many repetitions before they can be trusted
It may be easier for him if the sofa is off limits always. But it should be possible to teach him to wait for an invitation. I would train by having him sit and wait
every time before he gets the command to jump up. Make him wait shorter and longer periods, but always make him sit and wait for the invitation. Some people use a blanket to indicate that the dog is allowed up. No blanket means not allowed. The most important part is to be consistent and clear.