I do not know the answer to your question but the way I solve that problem in osx is using quicksilver and triggers. You can give each app or really any quicksilver command a hotkey to switch to it directly or start it and switch if it's not running. I couldn't live without it. I have hotkeys for all my commonly used apps and generally never launch or switch apps any other way. I also have hotkeys for manual tiling to the corners, sides, center, and full screen so I don't need to use the gui for that. The fact that this isn't doable out of the box makes me question if either Apple or Microsoft has ever considered hiring a single ux expert.
On Linux I use jumpapp for the same functionality.
On Linux I use jumpapp for the same functionality.