I got a small wave of bug reports about unreliable screen sharing in the last month. Because of the pandemic stopping a lot of band activity, it's hard to know what to attribute that to, but I'm guessing it's related to the app rewrites released in March (BandHelper) and May (Set List Maker) and is showing up now because more bands are starting to perform again. The networking approach hasn't changed, but it seems to run more slowly in the newer programming language, or be less tolerant of slow devices.
Of the bug reports I received, all involved using a lead device that was at least 4 and up to 8 years old, and all but one were using the latest iOS version, which means the devices were already somewhat burdened with running an iOS version much newer than the hardware. In my testing, I saw a clear improvement when using a 9 year old device, then a 7 year old device, then a 4 year old device. Some users have confirmed that switching devices around so the newest device was the lead device made a big improvement.
Both forms of Live Sharing (screen sharing and remote control) use the same networking approach on iOS and Android (multicast DNS for discovery, and socket connections for data transfer), but this is somewhat abstracted by the operating system and I don't directly control how devices connect to each other. iOS especially makes a point of abstracting whether wi-fi or Bluetooth is used. In an initial test, I found that turning off wi-fi to force Bluetooth was more reliable for screen sharing, but I didn't try again after my optimizations because those seemed to address the problem. In general I think the best advice is to leave both available and let iOS use whatever it thinks is best for the situation.
Remote control is generally faster and more reliable because it requires sending a tiny fraction of the data that screen sharing requires. Neither function verifies what data has been received or retransmits data that was not received. I could put that on my wish list, but it wouldn't be very useful other than for song selections since all the other data changes pretty quickly.
BTW, this post isn't asking about device discovery, but for future reference, the most common issue with that is a router configured to block intranet traffic. Also, iOS 14 introduced a privacy setting for Local Networking that the app offers to turn on when it first runs. If you decline this or turn it off later, device discovery won't work, and the app can't detect whether it has been turned off so it won't show an error message.