In theory, you should be able to do:
INSERT ORACLESVR.catalog.schema.tbl(col1, col2, col3)
SELECT ...
FROM localtbl
WHERE ...
But this often breaks down for various reasons. It's usually easier to run the INSERT statement on the target side, but I don't what Oracle supports in that area.
I'm not sure what you mean with using a temp table or table variable. I can't see how that could make things easier.