Heat the oven to 375°F (190°C). Lightly oil a 9-by-13-inch (23-by-33-cm) baking dish or a large Dutch oven.
Bring a large pot of generously salted water to a boil. Cut around the core of the cabbage and carefully lower the whole cabbage into the water. Boil for 8 to 10 minutes, turning once or twice, until the outer leaves soften enough to peel away. Transfer the cabbage to a colander to cool slightly. Separate 12 large leaves, then trim the thick center rib from each leaf with a small knife so it will roll easily.
In a large bowl, combine the ground beef, cooked rice, onion, egg, garlic, salt, pepper, paprika, and dill or parsley, if using. Mix gently with clean hands or a fork until evenly combined; do not overmix.
In a medium bowl, stir together the tomato sauce, diced tomatoes with their juices, beef broth, brown sugar, and lemon juice or vinegar, if using. Spoon about 1 cup (240 ml) of sauce into the bottom of the baking dish.
Place about 1/3 cup (75 g) of filling near the stem end of a cabbage leaf. Fold the sides over the filling and roll tightly, like a burrito. Place seam-side down in the dish. Repeat with the remaining leaves and filling. If a leaf tears, overlap the torn edges before rolling; it will hold together in the sauce.
Pour the remaining tomato sauce over the rolls. Cover the dish tightly with foil or a lid and bake for 60 minutes. Uncover and bake for 15 minutes more, until the cabbage is very tender and the center of the filling reaches 160°F (71°C) on an instant-read thermometer.
Let the cabbage rolls rest for 10 minutes before serving. Spoon the tomato sauce over each portion and garnish with dill or parsley, if desired.