I think the reason so many people are frustrated with the Democratic party is two fold. One, we have a party which is a coalition of different groups and secondly the way the party functions tends to ignore this reality. Speaking to both the disatisfied and the powers-that-be within the party, I would suggest that real change should start with the Democratic party itself.
Unlike many countries which have a parliamentary system of government we have a winner take all system that forces the formation of coalitions prier to elections (we've actually formed semi-permanent coalitions). This creates a form of government that looks simpler - you just have the two parties battling it out on the national stage - but is actually more difficult to understand because all the coalition wrangling takes place in a way that makes it very difficult to know who is winning, who is losing and who is on who's side.
For example: if we had a proportional election system an election out come might look like this:
Progressive party 20%
Democratic party 25%
Blue Dog party 10%
Tea Party 20%
You can see how a government might be formed as a coalition of the Progressive, Democratic and Blue Dogs. The man who became president would be a member of the Democratic party, and he might have a Progressive party member as his vice president while appointing cabinet positions etc. to other members of the three parties on a some what proportional basis. Everyone would understand why he is president and why his policies are more in line with the Democratic party then with the progressive party. Progressives would have progressive party members in the leadership who they could and would push for their policies. Of course the frightening thing that jumps out at you when you look at this example is the power that the Blue Dogs would have (and in fact we have seen this in our own wranglings before the last elections - for us it just isn't as clear who holds what power).
But instead of this system we end up with everything lumped under the Democratic or Republican label (yes, if you dig into each member's caucuses etc. you can identify which sub group they more closely identify with, but your average voter is not going to do this). In our system the power sharing is more difficult to recognize leaving members of each party frustrated. Sometimes this frustration results in members feeling disenfranchised, mounting primary challenges or ,even, third party campaigns.
Another important consequence of our current system is the fact that the leadership within the party does not change smoothly and in a timely manner in response to a change in the membership of the party. Ex: a surge in progressives within the Democratic party is not marked by a equal change in the the number of progressives within the party's power structure - end result: frustration. The social conservatives saw this reality and in the 1980's and 1990's worked hard to take over the party from the inside (this included fighting and winning many local and state elections) until they could demand that the Republican leadership (by this time many of them their own people that had worked their way up in the party) tow the line on hardcore socially conservative policies.
What can we do? Accepting that we can't change our winner-take-all system, I would advocate for a change in the structure of the Democratic party. Recreate the Democratic party so that it reflects the reality of a coalition party. The power with in the party could reflect the strengths of the sub-parties as determined by how many state and local elected seats they occupy (Democrats holding office or running for office would be required by the party to identify which sub-party they identified with), how many members of the party (you and I) self identify as members of a sub-party, and by their showing in the last national primaries,
On primary ballots the candidates sub-party membership would be noted. So how well each sub-party candidate did in a primary would help to determine influence that the sub-party had at the state and national party level. Each member of the party - you and I - would have a choice of identifying with one of the sub-parties and this would also go into the calculation of power sharing, finally and most importantly the number of state and local offices held by members of the sub-parties would play a major role in determining who controlled the Democratic party.
By creating sub-parties within the Democratic party we could inspire competition between the sub-parties which would build party membership, loyalty and help us to win local and state seats. And by taking back control of state and local government (this is another area where the social conservatives saw an opportunity to gain an advantage - and have succeeded), we can begin to build a foundation for national change.
I know that it is hard to imagine this type of reform taking place. The people who hold power will always fear change, but I people that we are at a crossroads where we must make some radical improvements to the way we do business or we are looking a very bleak future.