Heat a 10-inch nonstick skillet over medium high heat. Add half of the butter to the pan. Add the peppers, onions, ham, and mushrooms to the pan and sauté for 5 minutes or until the onions have become translucent. Remove the mixture from the pan and set aside. Combine the eggs, salt, and pepper in a bowl and beat just until combined. Add the remaining butter to the pan and spread to coat evenly. Pour the egg mixture into the center of the pan and stir until the eggs begin to solidify. Tilt the pan to spread the eggs evenly over the surface. Cook for about 30 more seconds then loosen from the pan. Add the ham mixture and cheese. Fold in half and transfer the omelet to a plate. Top with a dollop of sour cream.