Here’s a way to program an Arduino wirelessly while still using the stock IDE. It uses an alternative bootloader called SuperDuplex along with an IR receiver like the ones used for TV remotes.
As you can see, this does take two parts. There is the target device which has the IR receiver, as well as the transmitting unit which connects to the computer via USB. You can see a demonstration of the programming process after the break. It might be a bit slow, but nothing outrageous.
With hobby electronics we always thing that “what does it do?/what is it for?” is the wrong question. But in this case we there’s a very apparent use for it. If you’ve built a gadget for use in a harsh environment and want to keep the number of openings in the enclosure to a minimum (like for an underwater ROV) this is perfect. Just make sure there’s a window for the IR receiver and you’ll be able to program as much as you want. Of course it still looks like you need a method to manually reset the target chip, but you’ll think of something.