Sachverhalt: A. Mit Verfügung vom 17. Dezember 2002 sprach die IV-Stelle Schwyz der 1963 geborenen C._ ab 1. Juli 2001 eine halbe Rente der Invalidenversicherung zu. Das Verwaltungsgericht des Kantons Schwyz bestätigte mit Entscheid vom 26. August 2003 die Rentenzusprache bei einem Invaliditätsgrad von 62 %. Die dagegen erhobene Verwaltungsgerichtsbeschwerde wies das Eidgenössische Versicherungsgericht mit Urteil vom 24. Juni 2004 ab. Im September 2004 leitete die Verwaltung von Amtes wegen ein Revisionsverfahren ein, traf entsprechende Abklärungen und führte das Vorbescheidverfahren durch. Mit Verfügung vom 22. August 2007 sprach sie C._ ab 1. Januar 2004 eine Dreiviertelrente zu und hob diese auf den 30. September 2007 auf mit der Begründung, der Gesundheitszustand der Versicherten habe sich verbessert. B. Die dagegen erhobene Beschwerde wies das Verwaltungsgericht des Kantons Schwyz mit Entscheid vom 19. Februar 2008 ab. C. C._ lässt Beschwerde in öffentlich-rechtlichen Angelegenheiten führen und beantragen, der Entscheid vom 19. Februar 2008 sei aufzuheben und ihr sei eine ganze Rente zuzusprechen; eventualiter sei die Sache zur weiteren medizinischen Abklärung zurückzuweisen; subeventualiter sei ein Obergutachten einzuholen. Ferner lässt sie um unentgeltliche Rechtspflege ersuchen. Die IV-Stelle schliesst auf Abweisung der Beschwerde, während das kantonale Gericht und das Bundesamt für Sozialversicherungen auf eine Vernehmlassung verzichten. 