If I remember correctly, you are right. I use persistent socket. I guess how well it works with unstable network is the browser dependent.
For Adnroid and iPad/iPhone, OSC apps can serve better. You can have much more control over Sonar, they have faster response then web buttons and can better behave on disconnects (the last should be tested, that is just a guess...). I have heard that Lemur is really good. I have tried TouchOSC (you can find the result in the Presets section), let say it was working fine in 95% of the cases I have used it (in the rest 5%, I had to "sleep/wake" the phone to cure somehow "delayed" feedback from Sonar. May be my old phone has some wifi bugs, may be TouchDAW. I am not sure).
For Windows I know nothing nice for OSC. So I slowly develop my own Windows OSC surface emulator.