A site can be downloaded using the open-source tool available at the Google Sites Liberation Project Page. Note that this tool requires Java 1.5 or later. Once the tool has been downloaded, double-click on the JAR file to launch the application. You will be presented with the following screen.
To upload a site, use the same tool as above, but point the target directory to one with content in it. Clicking the "Import" button will upload all of the data in that directory to Sites.
The full user's guide for the import/export tool is available here.