So....
How 'bout..
Dive into water and go to a depth of 10 feet for every 30' of diving..
HR -> Fall into water and go to a depth of 5' for every 30' of falling.
Impact before you reach the stated depth deals damage of 1d6 per 10' of distance remaining.
{e.g., you dive from 90' up into a 10' basin of water. You needed 20' more to be safe and end up with 2d6 damage from smacking your face on the bottom of the pool}
Once in the water, you may sink based on your encumbrance. Armor Check Penalty is added to the number of feet sunk. Sinking happens at the start of your turn.
Light Load: 0'
Moderate Load: 10'
Heavy Load: 20'
As you are drifting, there is not damage from sinking into sharp pointy things.
As a succesfull Swim check lets you move up to half your movement once per round, this means an average human in Full Plate with a Heavy shield would have an Armor Check of 8 and, assuming successful checks, can swim 15' each round...
Lightly Encumbered he would only make 7' headway towards the surface
Moderately Encumbered he would gradually sink at a rate of 3' per round
Heavly encumbered he would rapidly sink at a rate of 13' per round
Does this hit the character twice for encumbrance and Armor Check penalty {as they impact the Swim check}? Yup. I don't have much of a problem with that
Does this get realy into simulationism? Nope. I ignore lots of stuff like boyancy and math.. but I think the end result is a relatively clean and usable HR.
I have HR'd swim to be like Jump in that your Swim check result is used to figure the distance travelled.. making the 1' incremental rate of sinking mean a bit more.
{edit } My bad.. I forgot which forum I was in
Hopefully the RAW answer was sufficiently covered before little Poster C wandered in...{/edit}