"Capitalism is the problem" by itself is like saying "unix operating systems are a problem". There are so many flavours, so many parameters (laws, tax, etc.) that I do not see value in generalizations.
I think morality is quite hard to define and any system should take into account unboundedness of some human attributes (being greed, stupidy or other) in some humans.