Subword movement funtions should be specified as

(interactive "^p") instead of (interactive "p") to allow shift selection. 

When cua-mode is enabled, shift-selection is also enabled since all the functions have

(put 'subword-forward 'CUA 'move)

so, I think it should be consistent.
Just my 2 cents.
 
Matt