I was considering implementing this type of effect, and noted that no one else had asked or scripted it(as far as I could search). Laying the third layer with translucent/transparent water would also cover the face so that was out for me. So I was wondering if the effect stated was possible through any means.
Couldn't stop myself from testing it. So here is one way you can pull this off without events.
This solution will automatically slow down the player to walking speed as soon as he/she is in water and will also automatically change the players outfit.
Note that in my example pictures I used an exisiting tilest and just modified it for testing purposes. I also only roughly removed everything from the player sprite that is not needed.
1) Create an outfit file for the player that only shows the head (and everything else you want to appear above water)
2) Save the file in the Graphics\Characters folder. Name it like "trchar001_1.png" (the underscore is important and the number corresponds to the outfit number, see also)
3) Open Script Editor and go to the script section PBTerrain
SpringWater = 17
Puddle = 16
5) Add this
right beneath the previous added line
6) To this block
7) Go to the Script Section Game_Character
8) Before this block
return (@real_x != @x*4*Game_Map::TILEWIDTH or @real_y != @y*4*Game_Map::TILEHEIGHT)