In a large bowl combine all marinade ingredients, then trim the pork shoulder of all visible fat and marinade overnight or at least for 2 hours in a fridge.
Preheat the oven to 300F/165C. Place the marinated pork shoulder in a roasting pan and pour the marinade over it. Cover with aluminium foil and cook for 3.5 hours, check every hour and baste with the juices from the bottom of the pan.
At the end of the cooking time uncover and cook for 30 minutes longer. The meat should be easily pulled apart by a fork.
Shred the pork with two forks directly in the roasting pan and mix the meat with the juices. Cover with aluminum foil and keep warm until ready to assemble the sandwiches.