Our dog is very clean. (And no, it's not an oxymoron!) He's non-shedding, and we keep a towel and mat by the door and he often gets cleaned off when he comes in from outside, especially his paws, and especially if he's wet. If he gets a little funky (which he will if he rolls in something), one of us gives him a bath right away so he's almost always very snuggle-able (and his bath water is barely dirty). He is the best couch buddy. I also figure he lives here, as opposed to the amount of time visitors are here, there's no comparison. It's like keeping plastic on the furniture or something, lol.
When we first bought our house, and along with it a beautiful new sofa, we tried to keep our German Shepherd off of it, but he'd always be on it when we came home. I took to putting the vacuum cleaner on the couch as that was about the only thing that would keep him off. But I got tired pretty quickly of looking at the vacuum cleaner on my sofa all the time, so I just put a small blanket in his favorite spot and let him enjoy it. When guests came over I vacuumed. But people who know us know we are dog people, and don't seem to mind much.
My sister isn't a dog person and even she welcomes my dog to sit with her, it's kind of a funny sight.