First, preheat the oven to 350°F and grease the bottom and sides of a large 9x13 baking dish with nonstick cooking spray.Layer the thinly sliced potatoes on the bottom of the pan either vertically or horizontally to your preference.
In a medium skillet, add the butter over medium heat. Once the butter is melted, add the flour and whisk the butter and flour together for one minute until there are no more lumps.
Slowly add the milk to the roux while whisking to incorporate the butter and flour into the milk. 
Next, add the shredded cheeses, a small handful at a time, whisking until the cheese has dissolved in the cream sauce before adding more. 
Once all the cheese has melted, add the onion powder, garlic powder, paprika, salt, and freshly cracked black pepper.
Next, slowly pour the cheese sauce over the top of the potatoes, making sure to get the sides as well.
Place aluminum foil over the casserole dish and bake it covered for 30 minutes. After 30 minutes, remove the aluminum foil and bake it uncovered for 30 minutes or until it is bubbly and golden brown on top. 
Garnish with fresh thyme if preferred and serve immediately while warm.