Yes, two parties are enough. Should America change to a many party system, a myriad of problems would occur. First of all, our current dismal turnout of voters would probably drop a sizeable amount. More parties in our political system would confuse the American public, and as a result, voter turnout would be lower than ever. Not many Americans would take the time and energy in order to reasearch the party and its candidates position on political issues. If this lower voter turnout were to occur, then what the country percieves as "majority" would be skewed, because only a select few would actually vote. Second, our current two-party system allows simplicity in voting (to a point), and allows joe or jane on the street to vote for an issue without being an expert on the subject. Finally, if America were to be many party, nothing would get done in Congress! To get a majority (50% + 1) of the senate and the house to vote for a bill would be next to impossible. It would be a gridlock in government.
It may not be perfect, but the two party system works.