Place cauliflower in a large saucepan; cover with water. Bring to a boil. Reduce heat; cover and simmer for 5-10 minutes or until tender.
Meanwhile, in another large saucepan, melt butter. Stir in flour until smooth; gradually add milk. Bring to a boil; cook and stir for 2 minutes or until thickened. Remove from the heat. Stir in the cheese and sour cream until melted.
Drain cauliflower. In a large bowl, combine the cauliflower, ham and mushrooms. Add cheese sauce and toss to coat. Transfer to a greased 2 quart baking dish. Combine topping ingredients; sprinkle over casserole. Bake uncovered, at 350 for 40-45 minutes or until heated through.