Heat a drizzle of oil in a heavy skillet set over medium-high heat and brown the pork shoulder on all sides. Transfer it to a Dutch oven or slow cooker. (If you want to cook this in the oven instead of the slow cooker, preheat it to 325°F.) Add the onions to the pan and cook until they start to turn brown; add them to the Dutch oven or slow cooker; ditto the peppers, chile peppers and garlic. Add them to the pork and onions, and add the paprika, tomatoes, vinegar and sugar as well.
If you are using the oven put a lid on the pot and put it in for about 3 hours. If you are using a slow cooker, set it on low for 6-8 hours. Take the lid off and test the meat – it should pull apart easily with a fork. Remove any bones and continue cooking with the lid off if you’d like to thicken the sauce. Skim any fat from the surface, or cool the pork completely, then refrigerate it overnight; this makes it easier to pull the solidified fat from the surface, and it always tastes better reheated the next day, after the flavors have had a chance to improve.
Using two forks, shred the meat and distribute it through the sauce. Season with salt and pepper. Serve over rice or split cornbread, topped with a dollop of sour cream or crème fraiche. Leftovers are grand, and freeze well.