From the SteriPen user's guide:
"SteriPEN is not intended to disinfect surfaces of a drinking container, i.e. those that typically contact the mouth when drinking. Be certain that your drinking container has been properly cleaned/washed prior to using SteriPEN."

"SteriPEN is not intended to disinfect water above the surface of the water in the container, i.e., droplets of water suspended on the side of the glass."

?! Obviously using the SteriPen in it's intended fashion means that the water bottle, cup or other container will certainly be contaminated with water. So unless you use a seperate container to carefully pour the water into your water bottle, with no water splashing on the rim/ threads, cap, or even the inside upper walls of the container(If stirring rather than shaking the container, since the UV will not reach above the water line), then your water container will still be contaiminated and you will still be exposed to untreated water.

If there wasn't a water sensor as a safety feature, then perhaps you could use it to disinfect the other parts of the container, and a few seconds would probably be sufficient. Perhaps the sensor could be bypassed by closing the ciruit, but since it's automatic you'd still have to waste a full cycle when you'd porbably only need 15 seconds. Of course then you'd still need to wear sunglasses and make sure all skin was covered before you could use it. In any case this is a fatal flaw, which is a shame because otherwise it would save the hasle of using a filter.

I think I'll just stick with boiling, with Katadyne MP-1 as a backup. Filters, while bulkier and a bit of pain to avoid cross contamination, are also a good option for between camp or to save time and fuel. While they wont remove all bacteria and viruses(virii?), they will remove the particles which most of them adhere to, and will remove some chemicals if it has charcoal. They also don't require perfectly clear water. If in doubt you can also treat with chemicals afterwards(treating before takes too much time and requires a seperate container).