Preheat the oven to 425°F. Place the cauliflower on a 15x10x1-inch baking sheet. Melt 1 tablespoon of butter, and drizzle it over the cauliflower. Add the oil, and toss to coat. Roast until lightly browned and tender, 20 to 25 minutes.
In a large saucepan, melt the cream cheese and the remaining 3 tablespoons of butter over medium heat. Add 2 cups cheddar, 1 cup mozzarella and the milk. Cook and stir until the sauce begins to thicken, 1 to 2 minutes. Gently fold in the cauliflower. Transfer to a greased 8-inch square baking dish. Sprinkle with the remaining 1-½ cups cheddar and ½ cup mozzarella.
Bake, uncovered, until the dish is bubbly and the cheese is melted, about 20 minutes. Let stand 10 minutes before serving.
