My workflow is based on two main hotkeys plus some extras:
1. Alt+Tab to change between applications. Set it up so it ONLY switches between applications (never between windows of the same application). If you keep alt pressed the icons for the open applications stay on screen, and you can click on them to go straight to that app.
2. Alt+` (the key below "esc"). This rotates between open windows of the same application. It is basically alt+tab but for windows of the same app (that you have focused).
Extras:
- Window-resizing keywords (make the current window occupy the left half of the screen, maximize it, etc.)
- Tabs on some applications (like the browser or vscode). I still use several windows though.
- Disable all animations. Just make things appear/disappear as fast as they can. It sounds silly but it really enables faster "ops, not that window, switch again" when you don't nail it the first time.
This workflow is ingrained in my brain already. I somehow seem to mentally (without noticing) keep track of the window and app switching stacks, so most of the times I know how many times I have to hit tab or ` to reach the window I want.