Heat oven to 400°F. Lightly grease a 9x13-inch baking dish.
Toss Brussels sprouts with olive oil and a pinch of the salt and pepper. Arrange cut side down on a sheet pan.
Roast 15–18 minutes, until edges are browned and centers are just tender.
Melt butter in a large skillet over medium heat. Soften shallot 2–3 minutes, then stir in garlic for 30 seconds.
Sprinkle in flour and cook, stirring, for 1 minute to form a paste.
Gradually whisk in warm half-and-half. Simmer, whisking, until thick and silky, 3–4 minutes.
Take off heat. Stir in cream cheese, Dijon, and smoked paprika until smooth.
Fold in cheddar and half of the Parmesan. Add lemon juice and the remaining salt and pepper to taste.
Transfer roasted sprouts to the baking dish. Pour sauce over and toss to coat evenly.
Combine panko with melted butter and the remaining Parmesan. Scatter evenly over the top.
Bake 10–12 minutes until bubbling. Broil 1–2 minutes for extra color if desired. Rest 5 minutes before serving.