Remove large outer leaves from cabbage and set aside. Remove core from cabbage. Place whole head in a large pot filled with boiling, salted water. Cover and cook 3 minutes, or until softened enough to pull off individual leaves. You will need about 16 -18 leaves.
When leaves are cool enough to handle, use a paring knife to cut away the thick center stem from each leaf, without cutting all the way through.
Chop the remaining cabbage, still reserving large outer leaves, and place it in the bottom of a large greased casserole dish or Dutch oven.
Rinse rice and cook it in 1/2-cup water until water is absorbed. Remove from heat and let cool. Meanwile, saute chopped onion in butter in a medium skillet until tender, and let cool.
In a large bowl, mix cooled rice, cooled onions, beef, pork, salt and pepper to taste, egg, garlic, paprika, reserved sauerkraut juices and 1/3 cup of the tomato sauce, and blend thoroughly. Don't overmix or the meat will become tough.
Place about 1/2 cup of meat on each cabbage leaf. Roll away from you to encase the meat. Flip the right side of the leaf to the middle, then flip the left side. You will have something that looks like an envelope. Once again, roll away from you to create a neat little roll.
Place the cabbage rolls on top of the chopped cabbage with sauerkraut and some tomato sauce in between the layers in the casserole dish or Dutch oven. Top with all the crushed tomatoes, remaining sauerkraut and tomato sauce, and a few of the reserved whole cabbage leaves. Add enough water to cover completely. Bring to a boil, reduce heat to very low, cover and simmer 3 to 4 hours. Watch carefully so stuffed cabbages don't burn.
Serve with pan juices and a drizzle of sour cream, if desired, and mashed potatoes and crusty bread.
Cabbage rolls freeze well before or after cooking, and can be made in a slow cooker (see your manufacturer's instructions).