This is a common but difficult issue.
One thing I would do is not try to just make him move, but instead, every single time use a lure to get him off the couch and also fix it to a command such as “get down”, or “off”, that is only ever used to specifically mean “get down off this piece of furniture.” A major problem that many people have is that they use a command like “down”–and then they use it in all sorts of mixed contexts so that it has no real meaning to the dog. For example, does "down" mean stop jumping up on me? Does it mean lie down? Does it mean get off the furniture? Once you have effectively trained the command, that is going to get rid of the major part of your problem. But with a dog that is already touchy about being moved, part of the training is actually going to mean using lure training with a very high-value treat every single time so that he always has a very positive reason to get down.
This importantly, also sets him up for consistent success, because he will get down of his own accord to obtain the treat (and of course at exactly the same time he starts to move following the treat, you use the reinforcement word “off” or whatever so that his action becomes linked to the command and also to the positive reward).
With dogs that are defensively guarding something like a place on a sofa, you might consider also alongside of this, teaching that they are not allowed up onto furniture without being given an okay–that they need to sit and wait to be invited up rather than just getting up of their own accord. So they would also learn a command that would invite them onto a sofa. Personally–I would find that too much hassle, but then I have too many dogs, who all assume that the sofa and the armchair are their sleeping places! :lol:
As for a book–this one by Jean Donaldson is the classic and is widely considered to be the one to get:
http://www.amazon.com/Mine-Practical-Guide-Resource-Guarding/dp/0970562942
One other thing though that really needs to be considered with this breed–are you sure it is resource guarding, and not an expression of concern at being touched (e.g., that he is having some kind of pain?). Cavaliers with SM, any kind of disc disease/back pain and so on may growl at any hand that moves towards the dog if it associates being pushed or lifted with pain. Most likely you are dealing with some resource guarding behavior, but this alternative reason needs to be kept in mind too.