Firstly (from many hours of setting mine up), the Sonos system needs to be on the same subnet as the controller, i.e. if you're using your iPhone to connect, make sure the SSID is on the same VLAN as your Sonos system also (just use the same SSID).
I've found the best solution (and I know it's not ideal for every scenario) is just wired one of the Sonos' to the MX (or MS), and if you've got other Sonos devices, they'll form their own SonosNet mesh. This means you don't need to faff around with settings on the MR if there are incompatibilities.
If you've got a pretty simple network, I really wouldn't recommend using L3 roaming for any reason. The only reason to use L3 roaming I find is if you've got a campus-style network and need to use different VLANs in different 'buildings' that broadcast the same SSID. Bridge mode is usually fine if it's a simple network.
My current set up has a Sonos Beam wired to my MX, and all other Sonos speakers (mostly Play:1 and One's) are dotted around the house without a hard wire.
Fun fact if you're using SonosNet, you can browse to sonosipaddr:1400/support/review (replace with the actual IP address of one of your Sonos speakers, you can find this in Network-Wide > Clients) and view the STP and network matrix info, this helps pinpoint issues with STP and meshing issues for example.
As you can see in this diagram, all speakers mesh to the Living Room Beam, you can see the relative signal strength and STP states here too. Make sure you don't wire more than one Sonos if possible, else you'll likely get an loop, so long as your core switch has the highest STP priority you should be okay - you really don't want user traffic being sent over your SonosNet mesh.
---------
As much as I wanted to have Sonos and other IoT/Media devices (like Chromecast) on their own VLAN, it just doesn't work most of the time and is more work than it's worth. Keep the end-client and Sonos on the same VLAN and you'll be fine
Kind regards,
--
Connor Loughlin
Network Support Engineer
.:|:.:|:. Cisco Meraki EMEAR 🇬🇧
For reference, many questions can be easily answered by searching our online documentation: http://documentation.meraki.com