Hi folks
I've found that the best way to get Windows on external devices is to use a Linux bootable system on an external SSD connected to a USB 3 (or e_sata) port -- a USB 2 port also works satisfactorily provided you use an SSD and then bring Windows up as a Virtual machine -- any version of Windows BTW.
A minimal Linux installation as the Host OS (i.e the one on the external USB device) has a minimal overhead and the speed of the SSD gives perfectly acceptable performance -- and the Windows VM will usually work without any activation problems on any machine connected to (by virtue of the Hardware being in a "Virtual BIOS").
Using VBOX or VMWARE player (both Free) on the Linux system enables you to run VM's on the Linux system easily enough --both products mature and stable enough to create and run VM's without any problems on nearly all Linux distros these days.
Using SAMBA for sharing HDD's or passing the RAW HDD's on the main computer ensures that any fixes you want the Windows running from the external drive to apply on to the main HDD's will work.
With fast USB 3 and SSD's this solution is far easier than messing around with a proper "Windows to Go" and IMO is far more useful anyway - especially for example if you want alternative language versions of Windows / Office / etc.
With the VM method and a decent SSD you can run 2 or 3 Windows VM's concurrently without too much poor performance either. The old Windows to Go might have been the right tool during the heyday of W7 -- but there are better ways to do this now.
(BTW SSD's are easily connected to USB2 / USB3 ports via really cheap (around 5 USD / EUR) SATA-->USB2/USB3 connectors).
The latest versions have UASP support (that means those external HDD enclosures where you can have a load of HDD's -- i.e more than one in it) pass the data from the specific HDD to the Host computer even though it's connected to the machine via a single port. Data is buffered properly also ensuring maximum speed transfer.
Cheers
jimbo