我认为这个句子结构有问题。问题不在于进行体是否可以与持续时间状语连用,而在于see sb doing sth这个复合宾语结构。进行体与持续时间状语连用的例子如:It was raining the whole week. 这没有任何问题。但是在see后接复合宾语结构中,see表示感觉器官的直接感知,当宾补是一个持续性动作时,映入主语视网膜的画面是一个正在发生、还没有结束的动作,所以用现在分词作宾补。即现在分词作宾补表示一个动作的片段。如果宾补是一个短暂动作或持续较短的动作,动词的开始、短暂的持续以及结束这样的动态画面不断映入主语的视网膜,主语产生了一个动作发生了这样的视觉感知。而上述句子中,snow作宾语,现在分词falling for three days作宾补,这在逻辑上是不成立的,因为主语不可能三天三夜一直站在那里看着下雪。即便如此,动词也该用watch而不是see。所以,我认为这是一个错误的句子。我认为可以作如下修改:I witnessed a heavy snowfall that lasted for three days.