I use this script by Jesse to do this with specific projects.
I put that script into Keyboard Maestro as a Execute JavaScript For Automation macro, and duplicate it for each project that I want to switch to and focus on. Of course, I have to edit each script once and type in a specific project title (replacing “Inbox” each time it is referenced in the sample script).
I set a keystroke for each macro, and I am delighted with the results. I can switch focused projects with a simple keystroke. And I can do it with as many projects as I like (eight in my current workflow).
The script also creates the named project if it can’t find an existing one (which is helpful for my workflow). If you don’t like the creation part, you can delete the “if” section from the script, and it will still work as a switch to a focused project macro.
I realize that this isn’t a freeform switch between “top” projects, but if you are willing to implement this, I’ll bet that it serves your needs quite well.
Good luck!