Increase the Buoyancy in your Character Movement. If you want to forbid underwater swimming completely, you have to use Tick+LineTraces to forbid Movement under the surface.
For the animation, simply make a condition in your Animation StateMachine from Run/Walk to Swim and check if the Character is Swimming.
For splashes, use the OnOverlap Event of your WaterPlane. Spawn your particles there.