Place the pork in a large bowl or a bag with orange juice, lime juice, garlic, onion, and parsley. Season liberally with salt and pepper.
Allow the meat to marinate for 12-24 hours (the longer it marinates, the better).
Remove the chunks of onion and garlic from the marinade. Place the pork in a dutch oven alongside the liquid marinade. Bake at 250°F for 3 hours with the lid on. Alternatively, use a slow cooker and cook the meat on high for 5 hours. Once cooked, pull the pork off the bone and shred it. Leave it to rest in its juices.
Cut the onion into 2-inch long slices. Sauté it in a skillet over medium heat with a little olive oil until golden brown.
To make the garlic spread, combine the mayo, parsley, and pressed garlic. Slice the baguette lengthwise. Spread the sauce on the top side of the bread, followed by the swiss cheese. Top the other half of the bread with pepperoncinis, followed by pork, a couple spoonfuls of the pork juice, and sautéed onions.