Sachverhalt: A. A.a Die Staatsanwaltschaft IV des Kantons Zürich führt ein Strafverfahren gegen X._. Sie wirft ihm vor, wiederholt Drohungen gegen seine frühere Partnerin ausgesprochen zu haben, nachdem er bereits am 10. Februar 2010 vom Bezirksgericht Winterthur ein erstes Mal insbesondere der mehrfachen Drohung schuldig gesprochen worden sei. A.b Am 4. Oktober 2011 wurde X._ festgenommen. Mit Verfügung des Zwangsmassnahmengerichts des Bezirks Zürich vom 6. Oktober 2011 wurde er in Untersuchungshaft versetzt. Nach Anklageerhebung beim Bezirksgericht Winterthur ordnete des Zwangsmassnahmengericht des Bezirks Winterthur am 14. Dezember 2011 die Sicherheitshaft bis längstens zum 14. Juni 2012 an. Am 22. Dezember 2011 sowie am 2. März 2012 wurden zwei Haftentlassungsgesuche von X._ abgelehnt. A.c Am 15. März 2012 erstattete der Gutachter eine vorläufige Risikoeinschätzung zuhanden der Verfahrensleitung. Gleichentags ging ein weiteres Haftentlassungsgesuch von X._ ein. Dieses wurde vom Zwangsmassnahmengericht des Bezirks Winterthur am 20. März 2012 abgewiesen. Mit Beschluss vom 13. April 2012 wies das Obergericht des Kantons Zürich, III. Strafkammer, eine dagegen erhobene Beschwerde ab. B. B.a Mit Beschwerde in Strafsachen vom 20. April 2012 an das Bundesgericht beantragt X._, den Beschluss des Obergerichts aufzuheben und ihn aus der Haft zu entlassen; überdies seien die Kosten des Verfahrens vor dem Obergericht auf die Staatskasse zu nehmen. Für das bundesgerichtliche Verfahren sei ihm sodann die unentgeltliche Rechtspflege und Verbeiständung zu gewähren. B.b Die Staatsanwaltschaft IV des Kantons Zürich schliesst unter Verzicht auf weitere Ausführungen auf Abweisung der Beschwerde. Das Zwangsmassnahmengericht des Bezirks Winterthur und das Obergericht des Kantons Zürich, III. Strafkammer, haben auf eine Vernehmlassung verzichtet. X._ hat von weiteren Äusserungen abgesehen. 