Glad to hear things have improved!
OTA updates can work quite quickly when only updating the user app, that should take only 10-15 seconds. The system firmware is much larger, so moving between versions of system firmware is what can take time. But switching system versions happens infrequently, you are updating just the user app most of the time, so OTA updates over BLE should be just fine.
You can read more about how our firmware works, and how to load it, here: http://docs.bluz.io/tutorials/updates/. There is a way to lot it over UART without a JTAG programmer. Or you could use a JTAG programmer if you like, but it can be a bit more complex.
What version of Android is the Moto G4 running? We can’t test with every Android handset out there, so it may be some strange behavior there. We try to stay up to date with getting some new handsets, or having our community try them out, so I will add this to our list to test with.
The wireless mouse could cause interference, though it should have been mostly mitigated by the BLE protocol. Could have caused some issues though, especially if it was close.
Certainly let me know if you continue to have problems or if things settle down, we are here to help!