Hi Wild Will,
I think 3 hours in one go is a bit excessive. I would suggest if possible two swim sessions of 1 1/2 hours so that there is a better mix between the different training regimes. You swim session should consist of a 20min warm up. I would then go with an interval training set instead of just swimming lap after lap.
But I don't know how good of a swimmer you are. An eg of a top performance swimmer set of this type would be:
30 x 100m at 1:30. Hold a constant pace which gives you a heartrate aprox 40 beats below maximum. Try to hit the same time for each repeat and the same stroke count for each lap.
I would suggest using the above set as a template. You could reduce the no of reps of increase the rest to suit your standard. I would finish the session with some sectional work such as kicking and pulling and include a 20min cool down.
Bill