Sachverhalt: A. Mit Verfügung vom 6. August 2002 sprach die IV-Stelle Bern der 1958 geborenen G._ revisionsweise ab 1. Januar 2002 eine halbe Invalidenrente samt Zusatzrente für den Ehemann und drei Kinderrenten zu. Unter Hinweis auf einen Verkehrsunfall vom 24. Mai 2002 und des seither erheblich verschlechterten Gesundheitszustandes ersuchte G._ im Februar 2003 um Durchführung einer Rentenrevision. Die IV-Stelle liess die Versicherte rheumatologisch begutachten und durch ihren Abklärungsdienst die gesundheitlich bedingte Einschränkung im Haushalt ermitteln. Mit Verfügung vom 4. Mai 2005 setzte sie die halbe Rente ab 1. Juli 2005 auf eine Viertelrente herab, was sie mit Einspracheentscheid vom 23. März 2006 bestätigte. B. Die Beschwerde der G._ wies das Verwaltungsgericht des Kantons Bern, Sozialversicherungsrechtliche Abteilung, nach Beizug der Akten zum Unfall vom 24. Mai 2002, wozu die Parteien Stellung nehmen konnten, und nach Durchführung eines zweiten Schriftenwechsels mit Entscheid vom 3. Dezember 2007 ab. C. G._ lässt Beschwerde in öffentlich-rechtlichen Angelegenheiten führen mit den Rechtsbegehren, der Entscheid vom 3. Dezember 2007 sei aufzuheben und ihr ab Februar 2003 eine ganze Invalidenrente zuzusprechen, eventualiter die Sache zur Durchführung eines Beweisverfahrens und zum Erlass eines neuen Entscheides an die Vorinstanz zurückzuweisen. Die IV-Stelle beantragt die Abweisung der Beschwerde. Das kantonale Gericht und das Bundesamt für Sozialversicherungen verzichten auf eine Vernehmlassung. 