I was messing with some distortion shaders and realized an underwater effect could be reasonably easily possible with a similar technique…
So you would draw your scene to a render target, draw your water to a render target (probably solid alpha) then clip your scene to the water alpha, then apply the water to the clipped scene with add effect maybe, then distort the new water texture, then draw it on top of the scene.
A mesh based solution would probably work also.