Clearly by far the most effective method. Though, I'm surprised any other method is so hit and miss.
As you have seen, there are two detection steps necessary to bring an enemy naval unit to battle. First you must detect it in the seazone, i.e. see it on the map. That is the easy part. Then your fleet in that seazone must pin it down; seazones are big places. That is particularly hard with very small groups of subs (1-3 subs), because their visibility is so low (hard to find)
and because yours is so much higher (easy for them to see you and run away). So in answer to these two problems you need to choose units for your ASW tasks forces which have the highest possible sub detection rating while still trying to keep your own visibility as low as reasonably possible. Balance is best.
A good, effective ASW task force might look something like this: 2xCVL + 6xDD, or 1xCV + 4xDD, or even 8xDD (or thereabouts). And contrary to what another poster said, you DO want your ASW task forces on patrol orders. Subs are a bit like convoys in that they do make something of an effort to avoid being sunk. With convoys it takes the form of them changing their route when they suffer raiding losses. With subs it takes the form of them gradually moving their hunting grounds on a continual basis, making it more haphazard than a direct avoidance. But subs also run from a detected enemy fleet that fails to bring them to battle; they don't hang around and wait for that fleet to finally pin them down. They may return to that same seazone later and risk detection again, but by then will likely have passed through at least a half dozen other seazones, sinking convoys all the while.
To answer this part of it, you want your own ASW task forces also roaming, so that all the seazones in the hunting area get checked regularly; there are too many of them to park an ASW TF in each and every one, like laying down a blanket across an entire ocean. That said, it doesn't hurt to park an ASW TF in a seazone you know subs must regularly pass through on their way to and from port, as sort of a gatekeeper.
Other things you can do to increase your odds of interception:
1. Use all your spotter leaders for ASW TFs, even if they have other traits that make them look attractive as commanders for CTFs or SAGs.
2. Always keep your ASW tech as updated as possible.
2b: Don't forget that small and medium navigation radars (on the aircraft research page) also double as ASW techs, as they improve the detection ability of your CAGs and NAVs, respectively.
3. Concentrate your ASW patrols in one or two general regions for while, until the hunting dries up, then shift them to another nearby region for while. As you rack up sub interceptions in a particular region the AI enemy will eventually try shifting his raiding focus, so you don't want to keep patrolling an area he has largely vacated.
4. Keep up with your DD techs, especially engines, and keep turning out newer models with more advanced engines as you learn better techs. The faster the average speed of your ASW TFs, the harder it is for subs to evade them before they can close in and sink 'em. It is very frustrating to pin down a sub wolfpack and then fail to even fire upon it before it manages to escape the battle.
5. Build lots and lots of convoys before the war even starts, so that you have literally hundreds and hundreds in reserve as replacements for the losses you will inevitably suffer during the first year or so of the war when you still won't have very good ASW tech online.
6. Build lots and lots of escorts for those convoys, and assign them on a 1-for-1 basis (or more!) to the larger convoys, and at a lower ratio on the others. This will make those large ones unraidable by small sub groups, which will get the "convoy too well protected to attacK" deal when they stumble across those big convoys. Also, escorts damage subs when the subs raid the convoy they are assigned to, even though no battle message pops up. So they inflict a small but steady form of attrition on the enemy sub forces as time goes on. By the way, this tip is really only specifically recommended for the UK, though Japan can get some mileage out of it, too.
7. Keep some NAVs patrolling for subs out as far as they reach into the North Atlantic at all times. They have possibly the best chance to find subs, and when they do it serves as an automatic detection for any friendly fleets present for purposes of bringing the subs to battle. When a NAV finds a sub in a seazone where you already have an ASW TF, it is more or less an automatic sub kill. Again this is particularly useful if you have parked an ASW TF along a route the subs must transit to and from port; a NAV on a steady hunting patrol in that same seazone will multiply the number of kills you get there.
8.
Be patient! The Battle of the Atlantic took roughly two years before the Allies got more or less on top of it. You can do better than that, but it still will be a long fight no matter what.
Edit: sorry for the wall of text.
