Regarding Roger Serwy's comment, we could either:
1) normalize the event descriptions using MultiCall's _parse_sequence() and _triplet_to_sequence() functions
2) remove any Shift-Tab bindings from <<PrevWindow>>
I suggest #2.
Regarding the patch itself:
1) Was the existing default binding of Ctrl-[ removed on purpose in Lib/idlelib/configHandler.py? According to the same patch, in the config files it is still there along-side the new Shift-Tab binding. At the least, these should be consistent.
2) In the code re-binding the <<Prev-Window>> event in EditorWindow.py, shouldn't there be a "break" at the end of the "if" clause inside the "for" loop?