This is what I do
1) identify the course of the convoy
2) plot it on the map
3) do an end around and position yourself right on where the middle of the convoy will be
4) submerge to periscope depth
5) wait for the convoy to get closer and replot their course to confirm they are coming right at you
6) submerge to 200 ft or lower and go to silent running so the destroyers will not detect you
7) call battlestations and assign people to the damage crew
8) when the lead destroyer has passed you, go back to periscope depth.
9) lock on target and empty your front and rear tubes (use two torps per merchant)
10) dive and move away at 1/3 speed. The destroyers may detect your torpedo wake and track you down.
11) once you're out of harms way, turn battle stations and silent running off, get the crew to reload the torpedo tubes (which they will not do when in Silent Running mode) and start again with step 1
Even if your torpedoes do not sink all targets, they will definetly be crippled. Repeat these steps until the convoy is obliterated.
Alternatively, wait for stormy weather or night. You seem to have more chance of remaining undetected while being surfaced. That means you have greater mobility.