Sadly, the current default firmware that comes with the Sonoff switches no longer allows OTA firmware upgrades, so you have to do it with a serial adapter. I got mine from SparkFun, which took AGES to get here, but works perfectly. Just make sure it's 3.3v not 5 (most can do both). Takes about the same amount of time as OTA.
These are super cheap, and so far, very robust and useful. The firmware they come with, tho, needs a cloud connection, and doesn't work with Homebridge. Enter the Tasmota firmware, which makes them into MQTT generating, Wemo-compatible super switches. So far, so good.
Installing the firmware isn't too bad, with a Mac. SonOTA fixes that, and loads up the current latest firmware.
But after that, you're on your own. The firmware has a few options: you can use a URL to load the firmware, or you can download it and use your browser to upload the firmware, and the SonOTA page has a link to the latest version of the firmware.
There is a catch on the internet-site-update tho: you need a decent WIFI signal (75% or better?), or it'll just refuse to load. All my devices are quite a way away from the access point, and well below 75%.
Also, if there isn't enough space for the full firmware - and normally, there isn't - you need to get and install the minimal version first, then install the normal version. I didn't find this part obvious at all, but that's the critical step. (also, this is all on a publicly editing Wiki page, so now, I've edited it)
To be fair, the page does say you have to do this - but they talk about how to do it with a
#define MINIMAL - no mention of what to do if you're using the pre-built ones.