Sort and wash beans; place in a large Dutch oven. Cover with water to 1 inch above beans. Let soak 8 hours.
Drain beans; add 4 cups water. Bring to a boil; cover, reduce heat, and simmer 1 1/2 hours or until beans are tender.
Brown sausage in a large nonstick skillet coated with cooking spray over medium- high heat, stirring often. Remove from pan, and set aside.
Heat oil in pan over medium-high heat. Add onion and next 3 ingredients; sauté until tender. Add mushrooms, and cook 5 minutes.
Add vegetable mixture to Dutch oven when beans are tender. Stir in tomato and next 6 ingredients. Bring to a boil; cover; reduce heat, and simmer 30 minutes, stirring once. Ladle into individual bowls; top each with sour cream. Garnish with cilantro, if desired.