- In a pot over medium heat, combine orange juice, lemon juice, and lime juice. Reduce to 1 quart.
- In a pan over medium heat, combine garlic, habaneros, and 1 cup blended oil and bring to a simmer. Set aside to cool.
- In a blender or food processor, combine reduced juice, garlic-habanero mixture, mustard, and preserved lemon. Slowly stream in remaining oils to emulsify. Add citrus zest, cumin, sherry vinegar, and salt. Marinate ham in mixture overnight.
- Preheat oven to 350 degrees. Remove ham from marinade, cover with foil, and roast until warmed through, about 2 hours.