Dog trainer/behaviour consultant hat on..
Dogs on sofa, yes.
Dogs like us, feel more comfortable sat higher up, sat in the secure positions we tend to put our sofas in (against a wall, with a view of door, window etc)... dogs also enjoy sofas because they smell like us, very strongly, and because they can snuggle up with us.
If you teach your dog the rules of the sofa.. ie:
Get off when asked
Get up only when invited if someone else is already on there
Sofa is for sitting/lying not playing
Then there is really no issue.
If you absolutely do not want your dog on the sofa then you must:
Provide your dog an elevated comfy draught free bed in a similar sort of location as your sofa (ie, against a wall, view of door/window) for your dog to feel secure in. One that allows him to stretch right out.
Spend time down on the floor with your dog, if he can't come sit with you, you need to go sit with him.
Don't give your dog access to the sofa when you aren't there unless you don't mind him getting on it when you aren't there!
For everyone regardless of whether dog is or is not allowed on the sofa:
Teach your dog on/off/up/down etc and teach these on a variety of surfaces/levels (don't scream 'down' to the dog who is lying DOWN on your sofa... he already is DOWN.. make sure he knows 'off' as well!).
Understand how your body language appears to your dog - if he is on the sofa, and you approach head on with your 'stern firm dog trainer' voice, pointing and saying words... as far as your dog is concerned thats a confrontation at best. He shrinks back because to step forward towards someone potentially threatening would be to up the ante... so you shout and point and now reach and grab because this dog is disrespecting you and ignoring you.... as far s the dog is concerned you ARE now actively threatening, leaning over him when he is trapped, raising your voice, staring, grabbing.... what happens next is often a growl initially, which soon changes to a snap or real bite if this situation is repeated.
Approach, side on, invite your dog off in a nice voice with soft body language and reward him for doing as you asked.
If you find your dog is repeatedly getting on the sofa so that you will lure or bribe him off with treats, you need to up your training game and look at how much interaction/training/attention your dog gets (because dogs getting the right amount of mental and physical exercise each day tend not to attention seek like this!).
Make a habit of mixing up whether a reward comes immediately, or whether the first cue is followed by another simple cue to do something else and then the reward comes. Mix up the reward values and types too, and don't always have the reward in your hand, make a point of it sometimes being there, sometimes in your pocket, sometimes in another room so your dog is not reliant on direct bribery once he has learned what you want.
Sofas are one of the biggest areas of contention and misunderstanding that I see, dogs are gregarious social animals who WANT to be with us, and sofas are great for that. If you aren't letting your dog sit with you on the sofa, how do you know when your dog needs extra contact, fussing, cuddles etc (im not saying you don't, im saying think about how you spot that and respond). it is much easier to tell if your dog is having a hard time if he can come and snuggle with you!