I would say that the difference here mostly not in the length (it doesn't sound natural прошептать весь урок, though with проговорить it's quite OK). I feel the difference in the number of participants - you can шепнуть кому-либо, and that means to say sth in secret, but with the word прошептать - it's just the matter of voice level and doesn't need a specific person to refer:
"Я больше никогда его не увижу",- прошептала она, глядя на удаляющийся поезд. (she said it to herself, referring to nobody)
"Завтра жду тебя у школы", - шепнула она и убежала. (secretly, for the only one person to hear)