Thanks for the additional information. It is helpful. What you describe is something I am frequently consulted for. I do have to mention that there are medical conditions that can cause a dog to suddenly become aggressive. Unfortunately, these would not be able to be ruled out without testing.
However, to me It sounds like your dog may be having issues with dominance aggression. Cocker spaniels do have some issues with aggression and dominance. Many dominant dogs are described as well behaved until you try to get them to do something they do not want to do, and then they reprimand you either with a growl or bite if you don't heed the growl. Things like taking away something they want, making them move when they don't want to, waking them up, etc can cause them to reprimand (bite) you. I'm sure this sounds familiar to you.
Dogs that are allowed on furniture often feel that since they are elevated to your level or higher if on your lap, they mentally feel elevated as well in the pack order and thus are the boss. Keeping them on the floor can help lower them mentally back to a submissive position in the pack. So I would not allow him higher that the humans or even on the same level. Attach a leash to him for a little while and use it to remove him from the furniture so you don't have to get your hands close to him. Give a correction in the form of a short tug and firm "NO" when he attempts to get on and a treat when he starts not trying to get on the furniture. Thus you are providing negative reinforcement for the getting on the furniture and positive reinforcement for the desired behavior (not attempting to get on the furniture).
Use special treats like paper thin hot dog sliver or liver slivers to encourage the good behavior. Most dogs will obey for these types of treats.
There are other ways to regain the dominant position in the house and make the dog more submissive. The best way is to start obedience training. While a formal training class is great, you can start obedience training without a formal class. Before you can get into classes, I am including a link to a great site that teaches the owner to teach their dog obedience commands. Be sure and click on the link to the page on obedience at the bottom. and links on subsequent pages leading to detailed instructions.
Training works best if you train at least 30 minutes a day (two 15 minute sessions). I would start making your dog work via the Nothing in life is free program (NILF). It is outlined below.
You can also give corrections when he growls at people when walking so he learns that you are no longer going to allow his aggression. Of course, if it is due to a medical condition, that will need to be corrected as well.
I would also get a basket muzzle and make him wear it anytime children are around or visitors are there. Be sure to use the leash to make him obey you. If he growls give a short tug to get his attention and a firm "NO" to let him know, you are not going to allow his aggression. If he is sleeping, give a little tug to let him know that someone is there so he isn't startled when being woken up. . Often even the nicest dog will lash out when woken abruptly from a deep sleep.
In addition, if the situation is not improving with obedience training him yourself, you may have to consult a professional behaviorist. You can usually find a behaviorist by asking your Vet for a recommendation or you may be able to find one using the following site.
I hope this information is helpful to you and you are satisfied with my response. If you would like any additional information or have more questions please don’t hesitate to press the reply to expert or continue conversation button so I can address any issues you still have .