Preheat your oven to 375°F. Butter a baking dish, and set it aside.
Set a large pot of water over high heat. When it comes to a boil, salt it well and add the pasta. Boil until al dente, about 10-12 minutes depending on the pasta. Drain the pasta well and set aside.
Place a steamer basket over a pot of boiling water, and steam the cauliflower florets until they are tender. Remove from the heat and run under cold water to cool.
Take half of the steamed cauliflower and place into the bowl of a food processor fitted with an S-blade, or a blender. Add a bit of the water from the steamer, and blend until it becomes a smooth puree. If it’s the texture of cauliflower rice, add more water to thin and smooth the puree.
Break the remaining cauliflower into bite sized pieces and set aside.
Melt the butter over medium heat in a medium-sized pan. Add the flour, and whisk into a roux. Let it cook, whisking constantly, for about 1 minute. Slowly add the milk, whisking well as you go.
Allow the mixture to come to a simmer, whisking all the while, until it begins to thicken. Add the cheeses to the sauce, and whisk until smooth. Add 1 to 1 1/2 cups cauliflower puree to the cheese sauce, and whisk to combine. Season with salt and pepper to taste.
Mix the cauliflower cheese sauce into the cooked pasta, and stir in the remaining cauliflower florets. Pour the whole mixture into the prepared baking dish.
In a small bowl combine the panko bread crumbs with the olive oil and sea salt. Sprinkle this mixture over the pasta dish.
Bake, uncovered, for about 30 minutes, until the top is slightly browned.
Remove from the oven and let rest for about 5 minutes before serving.