The selection model is unfortunately a bit broken. For example shift+control+arrows and shift+down doesn't work. I believe the problem is that selection with shift isn't written to compose with other navigation.
Those key combos didn't originally send any special codes to the app. Newer terminal emulators do.
(I once wrote a hack for Linux that opened a connection to the X server and used the xkb -- X Keyboard Extension -- protocol to get info about the shift/control/etc state in order to synthesize shift+arrow and shift+control+arrow keycodes. It worked almost perfectly with a local X server.)