In a medium bowl mix the cumin, pimentón, cinnamon, garlic powder, freshly ground black pepper, thyme, sea salt, Worcestershire sauce and water. Paint the pork with this paste and let it rest, covered and refrigerated, for a minimum of 2 hours to overnight.
Preheat the oven to 300ºF.
Place the pork shoulder on a rack in a roasting pan. Add 1/2 cup water to the bottom of the roasting pan, cover loosely with aluminum foil and place in the oven. Roast for 3 1/2 hours. Remove the foil and roast for another 2 1/2 hours (add more water if necessary to prevent scorching.
Make the barbecue sauce
Place all the ingredients in a medium saucepan. Simmer gently, stirring frequently until slightly thickened, 8 to 10 minutes. Remove from the heat source and set aside.
When the pork is done, remove the roasting pan from the oven and set the pork on a cutting board or platter. Cover with aluminum foil until you finish the sauce.
Place a sieve or colander over a fat separator and pour the liquid from the roasting pan. Discard the solids from the colander. Pour off the liquid over the previously made sauce and discard the fat. Place the saucepan on the stove over low heat and stir to mix. Set aside.
With two forks, shred the meat (I like to do this by first cutting the pork shoulder into two or three smaller chunks).
Place the pulled pork in a bowl or shallow platter and toss with about 1/2 of the barbecue sauce.
Serve on buns or on flour tortillas, topping with a few leaves of cilantro and thinly sliced red onion.
Notes
1- I like to remove the large layer of fat from the pork before marinading2- The shredded pork can be made ahead of time and stored in the refrigerator for up to 4 days. It can also be frozen! I like to freeze the pork and the barbecue sauce separate and in smaller freezer safe containers, that way I can thaw only what I need for a meal3- To reheat a small quantity of pulled pork, place it in a microwave safe container, add a bit more sauce, cover and reheat for 2 minutes. To reheat larger quantities it is best to do it in the oven. Again, mix it with some more sauce, cover with aluminum foil and place in a 250ºF oven for about 30 minutes.