In a bowl, mix the sour orange juice, olive oil, minced garlic, salt, black pepper, oregano, cumin, paprika, soy sauce, and white vinegar.
Rub this mixture all over the pork shoulder, making sure to get it into all the nooks and crannies.
Place the pork in a large zip-top bag or covered dish and refrigerate. Let it marinate for at least 12 hours, preferably overnight.
Preheat your oven to 325째F (165째C).
Remove the pork from the marinade and place it on a rack in a roasting pan. If you don't have a rack, you can place the pork directly in the pan, but a rack helps to ensure even cooking.
Sprinkle the chopped onion and bay leaf around the pork in the pan.
Cover the pork loosely with aluminum foil and roast in the preheated oven for about 4 to 5 hours, or until the meat is tender and pulls apart easily.
For crispy skin, increase the oven temperature to 450째F (230째C) during the last 20-30 minutes of cooking. Remove the foil and allow the skin to crisp up, but watch it closely to prevent burning.
Let the pork rest for about 15 minutes before carving.
Enjoy your meal!