Preheat oven to 375 degrees. Brush an 11 x 7-inch baking dish with oil. Set aside.
Cook orecchiette per package directions. Drain, toss with 1 tablespoon oil and set aside.
Toss cauliflower florets with remaining 2 tablespoons olive oil. Spread out onto a baking sheet. Season to taste with salt and black pepper. Roast for 12-15 minutes or until just beginning to soften and brown. Set aside.
Melt 4 tablespoons unsalted butter over medium-high heat. Add flour, reduce heat to low and cook 2-3 minutes, whisking constantly being careful not to brown the roux.
Add the wine and the garlic, whisking constantly.
Slowly add the milk, whisking constantly. Increase temperature to high, bring to a simmer then reduce heat to low and cook 3-4 minutes or until thickened.
Remove from heat and add the cheese, whisking until cheese has melted and been incorporated. Season to taste with salt, black pepper and cayenne.
Combine orecchiette, cauliflower, bacon and cheese sauce in a large bowl and mix well. Transfer to prepared baking dish.
In another small bowl, combine Parmesan cheese, panko, remaining butter and parsley. Sprinkle over pasta.
Cover with aluminum foil and bake 25-30 minutes. Remove foil and continue to bake until crumb topping is turning golden and sauce is bubbling--approximately 10-15 minutes.
Let stand 5-10 minutes and serve.