There are a couple options for deploying reports to a different server. I've actually written a blog post that covered this (see tip #3) - there are three options.
Drag and drop the RDL files onto the server.
This probably isn't going to work since you'll need to update your data connection paths,etc, etc. I think this is what you meant in question #2 - yes, it will work, but it's a pain.
Deploy the reports using Visual Studio - you can use the Deploy feature in SSRS Data Tools to publish reports automatically to an environment after setting up the configuration properly. This is what I would recommend assuming that all your reports are going to a single folder - you'll only need to make a single configuration.
Use custom code to deploy the reports. This requires using the SSRS Web Service to deploy items and configure them, but it will work. Specifically you're going to want to use the CreateCatalogItem function and then some other methods around updating the data connections on the reports.
I wouldn't recommend #3 unless you have a situation where you'll be deploying these 50 reports to different sites on a regular basis and want to automate it all - #2 is the best use case for standard deployments.
I know this is a pretty old question but hopefully this helps anyone who's facing this issue!