Thanks to amazing readers of planet emacsen, two annoyances of switch-window.el have already been fixed! The first is that handling of C-g isn’t exactly an option after all, and the other is that you want to avoid the buffer creation in the simple cases (1 or 2 windows only), because it’s the usual case.

I’ve received code to handle the second case, that I mostly merged. Thanks a lot guys, the new version is on emacswiki already!