Following internal conversation @dc42's suggestion is:
I'd prefer to see DWC upgrades done by unzipping to a new folder, then when complete renaming the old /www folder to a backup folder name (deleting any existing backup) and renaming the new one to /www. This would keep the folder clean and also deal with the case of the unzip/upload failing part way through.
Tony added:
the method needs to handle plugins as well, and ideally other UIs.