In a large bowl, whisk together the olive oil, orange juice, lime juice, minced garlic, chili powder, cumin, smoked paprika, oregano, salt, black pepper, and cayenne pepper (if using) until well combined.
Add the chicken pieces to the marinade, ensuring they are fully coated. Cover the bowl with plastic wrap and refrigerate for at least 2 hours, or preferably overnight for maximum flavor.
Preheat your grill to medium-high heat (about 400°F) or preheat your oven to 425°F if roasting.
If grilling, remove the chicken from the marinade and let excess marinade drip off. Place the chicken skin-side down on the grill. Cook for about 10-12 minutes, then flip and cook for an additional 10-12 minutes, or until the internal temperature reaches 165°F.
If roasting, place the marinated chicken on a baking sheet lined with parchment paper, skin-side up. Roast in the preheated oven for 35-40 minutes, or until the chicken is cooked through and the skin is crispy.
Once cooked, remove the chicken from the grill or oven and let it rest for 5 minutes. Garnish with fresh cilantro and serve with lime wedges.