Soak torn bread in milk for 5 minutes, then mash with a fork. Mix gently with pork, veal, egg, Pecorino, 1/2 teaspoon salt and pepper and shape into 12 equal meatballs.
Heat oil in a wide deep skillet over medium heat and soften onion for 6 minutes. Add two-thirds of the garlic for 30 seconds, then stir in tomatoes, water, dried basil and remaining salt; simmer for 10 minutes.
Lower meatballs into the gently bubbling sauce in one layer. Cover and simmer over low heat for 15 minutes without stirring, then turn carefully with a spoon.
Simmer for another 15 to 20 minutes until the centers reach 160°F. Uncover for the final 5 minutes if the sauce needs thickening, and spoon away excess surface fat.
Heat the broiler. Mix butter with remaining garlic, split the rolls without severing the hinge and brush the cut faces; broil for 1 to 2 minutes until lightly golden.
Put three meatballs in each roll with a modest spoonful of thick sauce. Divide smoked mozzarella over them and broil for 2 to 3 minutes until melted.
Rest for 2 minutes, close the rolls around the filling and serve one sub per person. Keep any extra sauce separate so the bread doesn’t become waterlogged.