Do you perhaps have more than one WiFi access point? Are you using any WiFi extenders etc? If so, then see what happens if you switch off all, except the routers WiFi access point only, so that all speakers and the mobile controller device connect direct to your main router.
If it works, then simply blacklist the speakers and the mobile device from connecting to the other WiFi access points as they are likely dropping/interrupting the SSDP multicast packets that Sonos uses to discover the devices over the network subnet.