In a small food processor or mortar and pestle, blend the garlic cloves, olive oil, vinegar, oregano, cumin, black pepper, salt, and smoked paprika into a thick paste. This will be the seasoning rub that infuses flavor into the meat.
Using a sharp knife, score the pork shoulder’s skin in a crisscross pattern. This allows the marinade to penetrate deeper into the meat and also helps create a crispy skin as it cooks.
Rub the marinade generously over the entire pork shoulder, making sure to massage it into the cuts and crevices of the meat. Place the marinated pork shoulder in a large container, cover with plastic wrap, and refrigerate for 4-12 hours (the longer, the better).
Preheat your oven to 300°F (150°C). Remove the pork shoulder from the fridge to allow it to come to room temperature for about 30 minutes before roasting.
Place the pork shoulder in a large roasting pan. If you prefer, you can use a baking rack under the meat to allow air to circulate and prevent it from sitting in its own fat. Cover the pan with aluminum foil, sealing it around the edges to keep moisture in.
Roast the pork shoulder for 4-5 hours, depending on its size. A meat thermometer should read around 180°F (82°C) in the thickest part when it’s ready. About an hour before the pork is done, remove the aluminum foil to let the skin get crispy.
For even crispier skin, turn up the oven to 425°F (220°C) for the last 20-30 minutes of cooking. Keep a close eye on it to avoid burning.
Remove the pernil from the oven and let it rest for 15-20 minutes before slicing or shredding. This allows the juices to redistribute throughout the meat.