First marinade the pork by combining the 1/4 cup oregano, sour orange juice, 1/4 cup garlic, 1/4 cup extra virgin olive oil, salt and pepper, to taste, and let it stand for 1 hour. With a very sharp knife, cut ham across lengthwise exposing the bone. Cut around the bone and remove it. By making small cuts spread the ham until it is flat then trim into 4 equal rectangular shaped pieces. Discard any excessive fat. Season the meat with marinade and sit for at least 2 hours, refrigerated.
Soak beans in water overnight. Bring beans, bay leaf, and the 1/2 of pepper to a full boil. Simmer until beans soften then strain and remove pepper. Reserve the water (if necessary add more water to make 4 cups). In a large pan saute 1 tablespoon olive oil, onion, diced pepper, chopped garlic and oregano until translucent. Add the rice, beans, and water and bring to a boil. Season to taste with salt. Reduce heat and cook covered until rice is soft. In a pan saute crushed garlic in the 4 tablespoons of olive oil until brown. Remove the cloves and add them to the rice. Season to taste with vinegar and let stand.
Preheat oven to 350 degrees F.
Place the rice in the middle of the ham and fold both ways until stuffing is fully covered. Tie with string both lengthwise and across. Place in a roasting pan and cook for 20 minutes per pound or until inside cavity reaches 150 degrees.