你造的句子,外国人不这么用,因此没必要进行区别了。第三句没问题。你这种方式学英语是错误方法。你要模仿外国人怎么用你就怎么用,不要在没有把握的情况下进行改造。
For John to win the marathon suprised us.
此句错误,因为动词不定式一般式(如本句的 to win)所表示的动作应该是和句中的谓语动词(如本句的suprised)所表示的动作同时或在其后发生。如:For her to lose the election would make me very happy. 她落选会使我很高兴。(《牛津英语用法指南》第四版113.9)
但是,以下结构更为常用:It would make me very happy for her to lose the election.(同上)
For John to have won the marathon suprised us.
此句正确。 to have won 是动词不定式的完成式,表示该动作发生在 suprised 之前。
关于动名词与不定式作主语的区别,在赵俊英编著的《现代英语语法》中有比较详细的介绍(pp.393-395, 414-415,448-449等)。