I do all my design on one system, then, for 3D printing, copy it to a Micro SD card (after pulling it from the printer) and then reinstall the Micro SD in the printer, power it up and then print — it’s quite convenient.
There was a time when I’d connect one Tablet PC (a spare Fujitsu Stylistic ST4110) to my SO1, then connect wirelessly to it using a second Tablet PC (my Fujitsu Stylistic ST4121) and use the latter to control the former of VNC, sending files via VNC’s facility for sending — that was pretty convenient.
These days to control my Shapeoko 3, I just cable up my new tablet (Toshiba Encore 2 Write 10) and use that to control the machine — there’s no reason why you couldn’t get a reasonably capable tablet (one which would run Carbide Motion well) and send file to it over your network using VNC’s file transfer and then use the tablet to control the machine using Carbide Motion.
Universal G-code Sender used to be the default communication / control program back in the SO1/2 days and worked quite well for people whose machines were able to run Java well — I mislike Java and never have good luck with Java apps (and have to use a couple of miserably coded ones at work, so am not impartial and my opinion on Java apps is not valid or well-reasoned, so I will not say anything beyond that) — Carbide Motion should be more tightly coupled to the hardware, plus it has the nifty diamond button layout (which I find very attractive), and easier to run, and it has the ability to jog the machine while one holds a button down on-screen (or at the keyboard I believe) until one releases it.
Both UGS and CM (and all the other graphical/interactive communication/control apps) should get a lot nicer once Grbl 1.1 support is integrated into them.