Don't buy a Windows license, don't reboot and don't use a Virtual Machine. Try a free trial of CrossOver to run your Windows software on Mac, Linux and ChromeOS.
I've only used CrossOver on Linux and actually find it harder to use than Lutris. There's some crazy stuff like needing to declare environment variables inside a configuration file instead of having a GUI for it. But if you look at CodeWeavers' blog and release notes, you'll see them constantly making changes to improve gaming on macOS. That's where they seem to be devoting most of their energy these days. CrossOver on Linux worked for Microsoft Office when I needed to use it, but that was the only reason I bought it.
PlayOnLinux is no longer under active development (even Phoenics seems to have been stale for a while now), and Steam's Proton, Lutris, or Bottles are what you should use on Linux nowadays.
I find Lutris so extremely annoying. I feel like sometimes it just never does what you tell it to do. Bottles is even worse, I simply feel like I am being crippled in possible actions you can perform.
Is your issue that Lutris is buggy or limiting? I haven't encountered buggy behavior in Lutris, and it gives you a ton of options. I like some parts of bottles but I would really like to be able to change cover art without editing a config file, lol. It's definitely the easiest way to get started with Wine though.
There's Heroic Games Launcher too, by the way. It has less features than Lutris but it's probably easier to use? It's also prettier than Lutris, I think. What issues were you having with Lutris?
To me, Lutris has always been a very stubborn application.
Saying a game is running while its not
saying a game is not running while it is
unclear library override versioning (whats the difference between disabled and Manual, why can't I provide my own version from the UI directly then)
hard to troubleshoot as I cannot see at a glance how Wine is invoked and the logs tend to be hard to read inside the logs popup window
hard to see what winetricks is trying to do when invoked from it
Yet, when I say it gets the job done I mean it. But the program itself adds some more headaches, yet I need it as I don't know how to do half of what it does from a terminal and/ore scripts only.