Sorry but I am struggling to understand your question.
You can program the boat to go to a waypoint (WP) and then do an RTL to return to home and then another waypoint if you want.
You can pause the boat at a waypoint for a configurable number of seconds.
You could activate a servo using the camera trigger functionality
Hope my answers help.
This sort of problem can happen if the autopilot is not correctly “tuned” resulting in too much correction being applied and the vehicle “over-shooting” its steering corrections. the following link shows how to adjust the PID values. Tuning Turn Rate — Rover documentation (ardupilot.org)
Hope that this helps,