Sachverhalt: A. Die Staatsanwaltschaft des Kantons Solothurn führt gegen X._ ein Strafverfahren wegen gewerbsmässigen Betrugs, eventuell Geldwäscherei. X._ wird verdächtigt, zusammen mit einem Mitbeschuldigten unter falschen Versprechungen Kundengelder in der Höhe von rund Fr. 34,5 Millionen entgegengenommen zu haben. Die Gelder sollen abredewidrig verwendet worden sein. Statt Investitionsgeschäfte zu tätigen, seien die Gelder in einem Schneeballsystem als angebliche Rendite an Kunden geflossen, teils seien damit "Altkunden", die bei früheren Geschäften Geld verloren hätten, befriedigt worden, teils sei das Geld an X._ selber geflossen, teils sei der Verbleib des Geldes unbekannt. X._ wurde am 11. August 2006 verhaftet und in Untersuchungshaft genommen. Am 22. März 2007 bewilligte die Staatsanwaltschaft das Gesuch um vorzeitigen Strafantritt. B. X._ stellte am 23. Januar 2008 ein Haftentlassungsgesuch. Das Haftgericht des Kantons Solothurn wies es mit Urteil vom 29. Januar 2008 ab. Das Obergericht des Kantons Solothurn wies die Beschwerde von X._ mit Urteil vom 10. März 2008 ab. C. X._ führt mit Eingabe vom 7. April 2008 Beschwerde an das Bundesgericht und beantragt, der Entscheid des Obergerichts vom 10. März 2008 sei aufzuheben und sie sei umgehend aus der Untersuchungshaft zu entlassen. Eventuell seien Auflagen im Sinne von § 53 StPO/SO auszusprechen. D. Die Staatsanwaltschaft und das Obergericht beantragen Beschwerdeabweisung. Das Haftgericht hat auf Vernehmlassung verzichtet. Die Vernehmlassungen wurden X._ zugestellt. Mit Schreiben vom 21. April 2008 hat X._ verzichtet, sich dazu zu äussern. 