Preheat your oven to 350°F.
In a large pot, add water and bring to a boil. Add elbow macaroni and salt and boil for 8-9 minutes. Drain pasta and add pasta back to the pot with the butter and mix to coat.
Make the cheese mix by combining medium cheddar, white cheddar, Romano, and Parmesan cheeses in a small bowl. Reserve 1 cup of the combined cheeses.
Make the cheese sauce by adding the butter to a large skillet over medium heat and melting. Add the flour and whisk for about 1 minute, to create a roux. Whisk in the milk and half and half and cook, whisking often, for 6-7 minutes.
Turn heat to low and add the remaining combined cheese mix to the roux/sauce mixture. Whisk until melted and smooth.
Add pasta to the cheese sauce and stir to combine, adding salt and pepper, to taste.
Pour this mixture into a lightly greased 9x13 dish and sprinkle with the reserved 1 cup of combined cheese. Bake for 15 minutes, or until the cheese is melted.
Let cool for 5 minutes, then serve warm.