In a small bowl, combine the breadcrumbs, Parmesan, Pecorino Romano, garlic, parsley, salt, and pepper. Mix until thoroughly combined. Set aside.
Place a slice of beef between two sheets of plastic wrap. Using a meat mallet or rolling pin, gently pound the meat until it is about 1/4 inch thick. Repeat with the remaining slices of meat.
Sprinkle the top of each meat slice with salt and pepper.
Divide the filling mixture evenly among the 6 slices of meat, sprinkling it over the surface and spreading to cover.
Starting at one short end, tightly roll up each slice of meat to encase the filling. Secure with toothpicks or kitchen string.
In a large Dutch oven or braising pot, heat the olive oil over medium heat. Add the onion and cook for 5 minutes until softened. Add the garlic and cook 1 minute more.
Add the crushed tomatoes, tomato paste, beef broth, red wine, bay leaves, oregano, basil, salt, and pepper. Stir to combine.
Bring the sauce to a simmer then add the rolled braciola. Spoon some of the sauce over the tops of the rolls.
Partially cover the pot with a lid and simmer for 2 hours, turning the braciola every 30 minutes, until very tender.
Transfer the braciola to a plate and tent with foil to keep warm. Let the sauce simmer uncovered for 10-15 minutes to thicken slightly.
Remove toothpicks or string from the braciola. Slice each roll into 2-inch pieces.