What is a good option to replace a daily SQL server snapshot replication job?
ETL for SQL Server can be accomplished natively using SQL Server Integration Services.  That can be scheduled using SQL Server Agent.

If you have a linked-server setup between the prod server and the reporting server, you could use it to truncate the target table(s), and repopulate them via the linked server.  I would schedule this at the reporting server end.

There are a large number of commercial and open-source products that can be used for ETL, unfortunately we frown upon creating "shopping lists" of products since those lists are subject to going out of date extremely quickly.

It's vastly simpler to setup this kind of scenario if you have two separate databases on the same server. Simply create a SQL Server Agent job that truncates the destination table, then does something like INSERT INTO reportdb.dbo.tablename SELECT * FROM proddb.dbo.tablename.  Don't get me wrong, there are a lot of subtle corner-cases around doing this on a single server, not least of which would be evaluating the impact of running the reporting workload on the same server as your transactional production workload.