Personally i like how Window Maker does it: you can switch between all windows like in Windows, KDE, XFCE and most other floating window managers (by default on Alt+Tab) but you can also switch only between the windows of the current group (usually all windows of an application belong to the same group) or quickly toggle between the last two workspaces (what WM calls virtual desktops). The last two aren't bound to keys by default, but personally i have those set to Alt+` (sort of taken from when i used a Mac for a while) and Win+Tab respectively.
The only annoyance is that it doesn't seem to distinguish between window types so, e.g., in GIMP in multiple window mode it also cycles between utility windows like the toolbar, options, etc instead of only the image windows - though some applications do not even bother providing window hints about their window types.
The only annoyance is that it doesn't seem to distinguish between window types so, e.g., in GIMP in multiple window mode it also cycles between utility windows like the toolbar, options, etc instead of only the image windows - though some applications do not even bother providing window hints about their window types.