Edit: I would now recommend checking out Nitro 2! A tailored development environment for Craft, by Pixel and Tonic themselves. It is based on Docker but does most of the heavy lifting for you, so you don't even have to worry too much about that side.
I'll leave my original rationale and info around issues with Windows environments and why something Docker based is the way to go.
I've had a bit of experience with development environments on Windows and it can be a little bit tricky compared to macOS or Linux, because ultimately the Windows filesystem tends to be a problematic for virtualised setups, which I'll explain in more detail below.
First I would say you want to use virtualisation despite my initial statement above. No one should be having to locally configure any form of dev environment these days, messing around with config files etc. MAMP while it does provide GUI and easy way to tweak it, no one has time for that. You ideally want to have a repeatable and easy one command provision process, where all of this is done for you. You want to be able to completely tear down your dev environment and be able to rebuild it in a matter of minutes not hours.
I've tested Vagrant, Nanobox and more recently Docker on Windows. I would recommend Docker because of it's WSL2 ties now. Previously Docker on Windows relied on Hyper-V but now with WSL support (Windows Subsystem for Linux) Docker becomes more attractive and much lighter weight. Because Docker and WSL are tied to the same Linux kernel running within Windows (Yes Windows has a Linux kernel running inside itself now!) meaning performance wise you'll get much better response times from apps than Vagrant or Nanobox can ever achieve. I found Craft 3 to be horribly slow (even with dev mode off) and I'm afraid it is combination of the VM abstraction layer and the Windows filesystem (it sucks for VMs).
Vagrant and Nanobox both struggle because they require a full VM layer pointing to a Windows filesystem mountpoint, this is where your dev environment is hurt on Windows. The Windows filesystem is a pain in the arse when virtualisation is concerned. You will find issues with certain tools i.e. npm with symlinks and many other Windows specific stuff. There's even been specific issues directly impacting Yii2, which did get fixed, but just shows you that Windows can be evil: https://github.com/craftcms/cms/issues/4355
Docker has the advantage of WSL support and having the concept of containers. So think all the services needed like Apache/nginx (webserver), MySQL/Postgres (database backend), PHP-FPM etc, these can all be in their own containers rather than a single VM in comparison. This has the advantage of being able to swap out or change only certain elements when needed. Example: Fancy switching from Apache to NGINX? Easy, just change you web server container. Want to go to Postgres instead of MySQL? Cool, just switch your DB container.
With Docker, you can literally script the entire process with a
Dockerfile to automate the build and provisioning of a development environment. There are also great resources from the community around Docker. Even Pixel and Tonic have official purpose build docker images for Craft CMS 3 development.
The documentation on how to use them is a little lacking currently, but there's also an excellent walkthrough from Andrew Welch around a complete walkthrough of Docker environment: https://nystudio107.com/blog/an-annotated-docker-config-for-frontend-web-development, other Craft CMS developers have shared their Docker setups as well. A lot of them share the same common foundation, but may differ in some areas depending on requirements.
The end result, you can literally run one command
docker-compose up and everything else is provisioned for you. So that's why I'd recommend Docker. While it is a VM like Vagrant and Nanobox, it's about as lightweight as it can get, coupled with WSL2, I'm pretty sure it's going to be the fastest environment as well (aside from running natively on something like IIS).
The alternative would be running an environment on the host directly without virtualisation to avoid issues with volume mounts and such, this however puts more liability on yourself to configure things however, which as per my original statement, nobody has time for that! But you could even use IIS which is the native web server for Windows.