First, water is difficult for two reasons.
The first is that there are no good defining features for Photoscan to match in nearby images, so I think it tries rotating and shifting things around, then gives up and starts on the next image.
The second is that whatever features there are, like ripples, waves or reflections, change from one image to the next and confuse things even more.
If the images were taken with a UAV, there are a few things you can do to help in terms of importing or generating heading (YAW) and gimbal angle (0 for a stabilized gimbal), as well as lat/lon
If you can give Photoscan more info about how each image relates to the ones around it, you can decrease the "Accuracy" value for each camera, which causes less rotating and shifting, and in my experience, less giving up