I realize that @cra0zy is working on an official deployment tool, but in the meantime I'm trying to deploy on the three platforms. I got really tired of all the work that goes into it, so I decided to try my hand at automating it.
Now you don't actually need an OSX or Linux box to deploy from Windows to those platforms. With the Mac.app, the end user gets a .tgz that they extract and then they can copy the icon into their Application folder.
Linux users get a .tgz that they can just extract and run, the permissions automatically get set to executable.
For Windows, I integrated this with Inno Setup so that you can distribute an executable installer file for making an icon in the start menu and desktop. I also have it spit out a portable .zip of the Release folder so that people who don't have admin privileges on their box can still run it.
I'll also add SFTP support at some point.
When you want to deploy a new build, all you have to do is increment the version number in your .NET assembly, then load up your saved deploy tool file and hit deploy and now you're good to go. You could easily do nightly builds with this tool.
I went ahead and added a tutorial here: