What's your reason for getting it? Is it just to use for Text-to-Speech purposes with ST? If so, then I'd say go with cheaper. But if you also want music Sonos is more established and probably better interfaces will all the streaming options out there.
BUT... you also have another possible option depending on your level of technical know how. Echo, in my opinion, does a very nice job of playing music. I don't have a Sonos so I can't compare, but I'm honestly blown away with the quality of the speaker. Obviously Echo doesn't do any TTS yet, but there are ways to fake it.
If you have an old Android tablet or phone you can use DLNA software to make along with some smart apps to mimic a TTS capable speaker. Then, bluetooth that device to Echo and now you have TTS thru Echo (kinda). That's what I did recently.
There's another side benefit of doing it this way as well. The software that @ule wrote includes the ability to use an outside TTS processor. Given that the SmartThings current TTS functionality is flaky at best, this provides a reliable backup for the SmartThings "built-in" method.