Is copy/rename a good way to improve temp table performance?
If the table has an index, you may want to consider the cluster command instead of re-creating it or using vacuum full. This will:


Have the same effect on dead tuples - it physically re-writes the whole table
Retains any existing indexes
Might improve performance more than just removing dead tuples, depending on whether you will benefit from the clustering too (though of course you could achieve the same with an order by clause when re-creating)