C'est évident qu'il ne faut pas mettre des sous-titres si le but recherché est d'améliorer la compréhension orale.
Mais si un élève a un niveau intermédiaire, qui ne lui permet pas de comprendre la moitié des mots qu'il entend (ie il peut très bien ne pas connaître ces mots / penser que ces derniers se prononcent différemment, etc...), mettre les sous-titres en anglais permet de franchir une étape avec douceur, sans trop se prendre la tête.
Après, c'est clairement pas la façon la plus efficace vu que le cerveau a moins à se concentrer dans ces cas-là.

Faut alors accepter d'y passer plus de temps.
Écouter de l'Anglais quand on ne comprend pas le tiers de ce que l'on entend, ça permet pas de progresser des masses.
Je suis un partisan du fait qu'il est plus facile de d'abord progresser à l'écrit, et que l'oral suivra automatiquement avec un peu de pratique, étant donné qu'on connaît déjà la majorité des tournures utilisées.
Après, il est clair que si le but recherché est d'apprendre le plus efficacement possible, il faut lire & écouter beaucoup d'Anglais, mais surtout le faire
régulièrement.
Y a plein de gens qui le font par à-coups, de façon scolaire : c'est vraiment inutile.
Dernière chose indispensable : s'habituer à penser en Anglais, ie être capable de décrire l'environnement qui nous entoure, d'expliquer ce qu'on est en train de faire, d'imaginer des conversations en Anglais ; bref, être capable de dire en Anglais ce qu'on voudrait dire en Français.
Perso, tout ce que j'ai appris dans ce contexte et de cette façon est rentré sans difficulté.