I'm convinced that "what works" when it comes to self-organization is almost always a function of how involved/educated the participants are about the principles. Every time someone on HN complains about agile the typical response is that "they weren't doing agile correctly". And honestly I believe it. I just extend this to most forms of self-organization.
To be clear, I definitely do believe that certain structures are more effective than others for a given goal but I also believe that often the biggest factor in success is the buy-in and investment the members have. I even extend this (admittedly, somewhat reductive) analysis to debates between OOP vs functional codebase structures. If everyone is well versed in "proper" OOP or "proper" functional software design both strategies can be effective. If everyone is sociocracy fanatic then that can certainly work effectively. Because it's not as much about the superstructure as it is about proficiency.