I know it's been discussed before, but I wanted to make another voice heard in favor of uploading and downloading themes. The current method works, but the piece of the puzzle that still bugs me is the manual uploading of the zip file, and also the downloading (though perhaps a bit less than the uploading).
I would be happy with an API to upload the ZIP (and download). Just to be able to curl a zip to my help center would be amazing (perhaps with parameters to enable preview mode, or to set live).
Even better would be the ability to have Zendesk pull files from a Git repo, or at least pull tags. Add to that an API to make a given theme the live theme, and I can actually automate the whole process.
I currently have a Git repo that was initialized with the contents of a downloaded theme zip. I use zat to work locally, in addition to a "watch" task I've set up to compile JS and CSS. When I'm ready to try it live, I have another task to manage the version number and zip up the files. All of this is easy to deal with...and then I need to drag a zip file from my desktop into the Guide Admin...I just went from command line awesomeness to mouse-click-and-drag purgatory, with a very manual process of managing the live theme.
Or something built into zat might make sense.