Alt-` allows you to switch between windows of a single app, or you can install an extension from http://extensions.gnome.org that will give you the old style of Alt-tab behavior again.
I don't use keystrokes to switch between windows. I look at the list of the windows in the "taskbar" and directly click on the one I want. However I do use keystrokes to switch workspaces.
Switching from a current emacs to the 6th terminal window isn't particularly practical for me using keystrokes (ymmv). I also drag and drop items in the taskbar so they are in the order that makes sense for me.
I gave up on extensions because they kept breaking, and of course the moment there is a gnome version change they all stop working.
Fair enough. I generally tend to use something like tmux or multiple tabs in a single terminal window, or two windows at maximum, so I can definitely understand the limitations for you there. Something that I have picked up from using a Mac at work is using the Super key to bring up the expose-like overlay to find the window I'm looking for if it's not just a quick alt-tab or alt-` away.
On my laptop I do use multiple terminal tabs because there is so much less screen area. When there are zero or one instance of a particular app/window then the expose like functionality in Gnome Shell is great.
As I mentioned it would be great to be able to use the panel for the many instance apps and shell for the single instance ones but that isn't an option with Gnome 3.4. With Gnome 3.2 that is how I was doing things, but the panel wasn't part of gnome and instead there were several done as extensions each with its own quirks and breakages.
I also don't use Gnome Shell on my laptop for battery savings instead opting for the panel without 3d effects and not using compositing in the window manager. I want as few CPU/GPU cycles as possible spent on the laptop.