Preheat the oven to 350°F. Butter a large baking dish (11-inch oval or 9-inch square) and set aside.
In a large pot of salted boiling water, cook the pasta until al dente. Strain, reserving 2 cups of the cooking liquid in a separate bowl, and set aside.
In a large pot over medium heat, melt the butter. Add the flour and stir with a wooden spoon to form a roux. Continue to cook, stirring constantly, for a few more minutes. The roux should be pale in color, not browned. Slowly whisk in the milk until smooth. Bring to a simmer, and continue to whisk until you have a thick consistency. Add 1 cup of the reserved cooking liquid and whisk to combine. Add the cheeses, grated zucchini, and the pepper and stir with a wooden spoon to combine. Season with salt to taste.
Stir in the cooked pasta and mix until it is all nicely coated in the sauce. If you find the sauce too thick at this point, add some more of the reserved cooking liquid. Tip the contents of the pot into a buttered baking dish. Top with the thin slices of zucchini and a sprinkle of parmesan cheese.
Bake in the oven for 25-30 minutes. If your cheese topping is not browned at this point, finish for a few minutes under the broiler. Serve warm.