This is the way that I do it with our structure of a testing and production environment.
First things, you might want to try and see if you can access your NP document from the testing environment. That way, any filters, conditions you create will be created on the production side. As long as they aren't in the Template, they wont be used. Also, you want to make sure that the structure of your test environment and production are the same, so it can pull the same files from the same location on test and production.
Then, the only thing you really have to copy to the server is the template that you are working on in test. Just copy the new template to the production server and run the schedule or task and it will run it from the location on the server. OR if you are making changes to an existing document, just copy over the original on the server with the test document and the changes will be used from the server.
Let me know if you need any clarification. Hope this helps!
It is defiantely a manual process regardelss of the method you use. It is best practice to use UNC naming for all file based items, such as templates, nsq files.
You can build your production and test environments to have the same folder structure and then when you are ready to move to production, open the nsq, update the environmental variables for the production environment and then copy that nsq to the production server
The process crystles uses works as well, but regardless of the method you use, some manual changes, copying will be required