First off, I have no clue if this has been suggested before, so bear with me...
If it would be possible to code, I think it would be really cool if mariner NPCs, such as Pelargir Marines and Corsairs, would use a boat instead of swimming when they are in bodies of water. It would be a normal vanilla boat that appears under them (so they are sitting in it) when they go into water, and would have the speed of a normal boat. When they reach land, the boat would just disappear and they would be standing again.
Breaking boats: NPC boats would be able to be broken by players or other NPCs. Unlike player boats, they would not break when they touch land. However, they would break when shot with a ranged weapon, or hit with a melee weapon, the way a player boat does (but NPCs would not be able to accidentally break their own boat by using a bow). Once an NPC's boat is broken, they would have to get out of the water before they could spawn another boat. This way, when a boat 'sinks', the NPC would be overboard, and would have to swim until they reach the shore (giving enemies the opportunity to pick off the survivors). When broken, an NPC boat would not drop wood or sticks, it would just disappear.
Also, mariner NPCs would have a chance to spawn on the water in their boats.