A virtual machine is a hideous amount of overhead for a shell, not least because a lot of people like to drop to a shell specifically for its low resource consumption for large tasks. It's a valid solution, yes, but I would rank it below Bash on Windows 10 in any form.
For my use case I would prefer to have 100% of system resources on one OS. Also, I'm coming from a Mac and would prefer the "integrated" feel if that makes sense
There's a big difference between Cygwin and Bash on Windows though: Cygwin is a Win32 port of the GNU tools, whereas Bash on Windows is a Linux kernel emulation layer that allows you to run unmodified Linux binaries directly on Windows.
You could make it the other way around. Install Linux and use KVM to have a windows virtual machine at almost 100% native speed and basically full access to the hardware.
The only difficulty is if the hardware doesn't fully support Linux without hassle (in very recent notebooks for instance).