I aim for the weak points (Fuel bunkers) and try to get them under in one shot. If they are a lone merch and they don't go after that I'll sometime surface and finish the job with the DG.
In a convoy I'll use another fish on them after getting to a better firing position. Sometimes that means dropping off the convoy and racing out to get ahead before slipping inside the convoy again.