Subs CAN hit subs without a destroyer.
If you attack my 4 subs with your 2 subs, I may not submerge my subs, but allow them to fight. If it starts to go badly for me, then on any given round I can submerge my subs.
What you should say, is you need a destroyer to prevent your opponent from having the option to submerge.
Also, you don’t need a destroyer screen to protect your carriers. Other boats, even subs, may do just fine. It’s just that without the destroyer, your aircraft can’t hit the subs.
To further clarify the issue of when subs submerge:
kcdzim is correct that subs can submerge when they would otherwise fire - he read that in the rulebook.
However, as krieghund pointed out, defending subs can submerge before any round of combat as well, as long as there is no opposing destroyer present. So if your opponent takes off his last destroyer in a given round of combat, your subs will have all their abilities back in the next round (could immediately submerge before the next round).
Put another way, if you attack my 1 sub with your 1 (or more) sub(s), I can submerge before you roll any dice. So defending subs are invincible if the attacker has no destroyers, unless the defender chooses to have his sub(s) defend (roll dice).