1. Trim any excess fat off the pork roast. Make shallow slits in the pork all over, using the tip of a knife.
2. Mash the garlic, salt, oregano, cumin, pepper and bay leaves to a paste in a mortar and pestle or with a heavy knife on a cutting board. Rub this mixture all over the roast, forcing it into the slits. Place the roast in a plastic bag with the sour orange juice, sherry and onion. Marinate overnight in the refrigerator, turning a few times.
For the mojo sauce:
3. Heat the olive oil in a small saucepan over medium heat. Add the garlic and cook until fragrant and a pale golden brown. Do not let the garlic brown too much or it will become bitter.
4. Remove the pan from the heat and stir in the sour orange juice (or lime and orange juice), stock and spices. Bring the sauce to a boil. (Be careful, the mixture may sputter.) Briskly simmer the sauce for 3 minutes to mellow the flavors. Correct the seasonings, adding salt to taste. Let the mojo cool to room temperature, then stir in the cilantro. (This can be made up to 2 days in advance and stored in the refrigerator.)
To cook the pork:
5. Preheat the oven to 400°F.
6. Drain the roast, reserving the marinade. Lightly spray roast with oil and place in a heavy non-stick roasting pan. Roast the pork for 20 minutes, turning with tongs to ensure even browning.
7. Reduce the heat to 325°F. Pour the reserved marinade and onions over the pork. Continue roasting the pork until browned and cooked, 1 hour to 1 1/4 hours, basting with pan juices from time to time. The pork is ready to eat when the internal temperature reads 160°F on a meat thermometer, but Cubans like their pork really well done, about 180°F. Let the roast stand for 5 to 10 minutes before carving. Meanwhile, reheat the mojo sauce and readjust the seasoning. Serve with 2 slices of the roast pork.