I have a custom setup where I can quickly switch between windows and applications using keyboard shortcuts and save e.g. cursor positions.
I still prefer having the relevant material on-screen rather than switching between them. And it's due to the reason previously mentioned: for me it's faster to reference material that is on-screen at the same time rather than switching between them.
Perhaps this has something to do with the type of code bases one works with? I work quite a bit on legacy apps, where one has to reference both documentation, tests and git history (when it's of value), as well as a browser window to actually run the code. That'a already a lot of things to be switching between.