I'm not a Sonos user, so my information is very third hand, and a bit hazy.
But Brian answered your primary question way back here:
* Sonos support in MC has been reported to be a little unusual, as Sonos apparently does not implement the DNLA standard very well.
In fact, Sonos is not DLNA compliant, so it can't see a standard DLNA server. I believe it actually uses a variant networking protocol, called something like "Open Home Network" or similar. Unfortunately, I can't find a reference to it, and Sonos support online barely talks about its UPnP and DLNA support... because it isn't standard. It finds device via IP Address discovery or something. I actually think it uses some of the UPnP standard. Not sure.
MC uses a standard DLNA server, while I believe the other Apps you have successfully tried have added extensions to allow Sonos to see their servers.
There is the "DLNAExtra" setting in MC's Advanced DLNA settings, but I don't think that does what you need. Try it out, if you haven't already.As a fellow geek, you might be able to find the information I couldn't find.
Anyway, you might find the BubbleUPnP Server can be used to enable visibility of a MC Server to Sonos Controllers. i.e. In the form:
JRiver MC Server > BubbleUPnP Server > Sonos Controller(s) > {Sonos Groups} > Sonos devices.
Sonos Device Groups being optional, hence the {} notation. I believe the BubbleUPnP Server can be set up to operate transparently to the user, in this configuration.
So that isn't an answer, but might give you a path to check out. You may also like to ask Sonos why their Controllers can't see the MC Server.
PS:
https://en.community.sonos.com/setting-up-sonos-228990/sonos-1-upnp-name-6817406