I've been a fully-fledged Sonos user for about two years. I all begin when I was quitting my previous job at a HiFi retailer and got denied my order of a full 5.1.2 speaker setup of some nice Monitor Audio Gold series speakers and a Marantz AV-receiver as I was no longer an employee so they decided I suddenly had to pay full-price.
I had already sold my existing setup with 5.1 Klipsch speakers and Yamaha AV-receiver so I had to get something else but I got so fed up with my previous workplace that I decided to go the more "wife-friendly" route and purchased a Sonos Play Bar + Sonos Play Sub + 2x Sonos Play 3's for the Living room, and 3x Sonos Play 5's, one for the kitchen, one for the bedroom and one for the bathroom. A few months ago we mounted a TV in the bedroom so we got ourselves 1x Sonos Play Base and 2x Sonos One's.
And for the living room it has worked great. For TV and movies the most important thing is clarity for dialogues and impact from the subwoofer. You don't really need all that great speakers as long as the sub is able to give you the impact and feeling needed for explosions etc and the center speaker needs to have good clarity so dialogues don't feel muddy. The surrounds are only for spacial effects and you will have hard time telling a 100 USD speaker from a 1000 USD one to be absolutely honest.
The Sonos system consisting of 1x Play Bar, 1x Play Sub and 2x Play 3' for surround did just a good for TV and movies like our previous Yamaha RX-V3900, 2x Klipsch RF-62 mk2, 2x, Klipsch RC-64 mk2, 2x Klipsch RS-42 mk2 and 1x SVS PB12 Plus subwoofer did and you don't need to have that power hungry and huge AV-receiver and every speaker takes far less space and they need zero speaker wiring. The Sonos Play Sub is not capable of matching the SVS PB12 Plus subwoofer but it doesn't really matter as it kicks hard enough so that extra mileage we could get from the SVS is not really that useful as we would have complaints form every neighbor and things would start falling off the walls at that point.
When it comes to music it becomes something else. If you are one that enjoys full-room music, so you would prefer to have music coming from every speaker instead of forcing a stereo / front-speaker only playback like many purists tend to do then you need to have some good surround speakers etc.. as well as they become just as important as every other speaker in your system.
The Sonos speakers sound good for music, but they aren't all that dynamic. You should really enable the "loudness" option as without the loudness they sound really flat and somewhat dull unless you push 60%+ volume levels which is quite loud. And even then they are still rather flat, and by that I mean flat and not natural. The low-end is somewhat lackluster and you feel something is missing. This goes for all the speakers, the Play Bar, Sonos One, Play 3 and Play 5. They all need the Play Sub to really get that low-end going, and the great thing with adding the Play Sub is that you get so much better control over the low-end as you can control the Play Sub separate from the speaker(s) you pair it with so you can reduce and increase its output as you see fit.
You don't really have much control over the low-end on the speakers themselves, all you have is the loudness option and a bar for treble and bass and that's it. The problem with increasing the bass is that it will colour the entire spectrum and not just the low-end so it doesn't give you great results as it will start to colour and mud other aspects of the sound and not just the low-end.
You also have "True-Play" which is Sonos way of allowing you to "optimise" the speakers for your listening environment by using the microphone on your iPhone. This has given me mixed results. The process feels clunky, you walk around waving your iPhone around like a maniac and 90% of the times it results in worse sound quality, at leasts that's my experience and I've tried the feature several times on all our speakers and we have a lot of them. The results is even less low-end and almost tin-can feel to the vocals. Its like it takes the already narrow dynamic range and makes it even narrower. It makes vocals pop a little more, but it removes all dynamics and all low-end from the sound. Testing my speakers with True-Play enabled compared to with having it disabled and it will almost always sound worse when its activated.
I recently got myself a HomePod as I wanted to compare it with my Sonos speakers. And to be honest I find it to sound much better compared to our Sonos One's. I unpaired our Sonos Ones from the surround system in our living room and compared it with the HomePod 1-to-1 and 1-to-Stero-pair and I find the HomePod to sound better in both situations.
The HomePod has a much better low-end and a more natural sounding vocals. Where the Sonos One sound flat with a narrow dynamic range the HomePod sounds the opposite with much better low-end and greater dynamic range. The HomePod does not get as loud, and when comparing it with 2x Sonos One's the Sonos gets a edge in terms of sound stage / stereo perspective with tracks that features a clear usage of left and right channels (modern music tends to not separate left and right and plays pretty much the same on both channels) but the HomePod seems to have more depth as its better it terms of spreading the sound around in the room but without the same clear left and right channel.
The HomePod does also sound better than the Sonos Play 3's but that comes as no surprise as the Play 3 is the ugly child of the Sonos line-up and doesn't sound any better than the Sonos One to begin with if you ask me. What was even more surprising to me is how the HomePod sounds just as good, if not slightly better than the Play 5 as well. But the Play 5 is capable of playing much louder compared to the HomePod.
So I can't agree with others claiming Sonos sounds better. But with Sonos you are always capable of adding the Play Sub into the mix and 1x or 2x Sonos One's + Play Sub will sound better. And with Sonos you are actually able to get something that will work in the living room with the Play Bar or the Play Base that offers optical input. The HomePod is useless as your TV speakers in the living room unless you are strictly using Apple TV and Apple TV only.
When it comes to the user-experience its MUCH better with the HomePod as long as you use Apple devices and Apple Music. Sure you can use Apple Music within the Sonos-app but its a really disconnected experience. It doesn't integrate at all with your Apple Music library so play-counts don't get updated, so no matter if you play a song 100 times using the Sonos-app it won't be reflected on your actual account so it doesn't add to your personal algorithm recommending you new songs, fixing radio stations based on your listening etc.. Your most played playlist won't be able to take your Sonos playback into account at all, you are not able to favourite/like/love from within the Sonos-app and the UX-design and user-experience is quite different from what you get in the actual Apple Music-app. You don't get access to lyrics etc.. You can't edit or add new Apple Music playlists.
With the HomePod you are able to get the full Apple Music experience, and as long as you start playback directly on the speaker everyone in your household can view and change the queue on their own devices directly within Apple Music. No need for the Sonos-app. Its also so much better in terms of podcasts etc as that doesn't integrate well into the Sonos-app at all.
With all that said, most Sonos-speakers will get AirPlay 2 sometime this year and might give you most of these benefits directly on the Sonos-speakers as well. Only time will tell how its actually going to look and work when its finally implemented.
One last with the Sonos-app. Its a battery hog. I have no other app on my iPhone and my iPad that drains battery life like the Sonos-app. And hardware controls and software controls for volume etc works like 60% of the time. Its rather annoying.