Cook the macaroni in a large pot of boiling salted water according to the package directions until al dente. Drain and rinse with cold water. Set aside.
Melt the butter in a large skillet with deep sides (or a large pot) over medium heat. Then whisk in all-purpose flour and cook for 2 minutes. Pour in the warm milk (¼ cup at a time), whisking as you pour. Then whisk in the salt, pepper, and garlic powder. Bring to a low boil and cook until the sauce has thickened.
Remove from the heat and add the cheeses. Stir until melted. Fold in the cooked pasta until fully incorporated. Then transfer to a shallow casserole dish and store in the fridge for 2 hours.
Make 15 equal-sized balls (about 3 tablespoons). Place them on a baking sheet to freeze for at least 4 hours or overnight, until frozen through.
When you're ready to fry the mac and cheese balls, place a large pot over medium heat. Add the oil (it should come up the sides about 2 inches) and bring to 325 degrees F.
Set up the dredge station by adding thebreadcrumbs to a shallow plate/bowl. Bear the eggs and milk together in another shallow bowl. Roll the balls first in the egg mixture, then the breadcrumbs until well coated. Place the prepped balls on a plate until ready to fry.
Working in batches of 5 (don't overcrowd the pot), fry the mac and cheese balls for 7 minutes. They will be golden brown, and the center will fully thaw and become melty. Transfer to a platter lined with paper towels to drain. Repeat with the remaining balls
Sprinkle with chopped parsley for garnish, if desired. Serve warm with your favorite dipping sauce or enjoy as is.