To Marinate: Pierce meaty sides of meat with fork; place roast in a large plastic bag. In a medium bowl combine the soy sauce, sherry, honey, garlic and ginger. Mix well and pour mixture into bag with pork. Press air out of the bag and tie securely. Refrigerate at least 8 hours or overnight, turning bag over occasionally.
Preheat oven to 170 C (gas 3).
Remove pork from refrigerator. Reserving marinade, remove joint and place in a 20x30cm baking dish. Roast in the preheated oven for 1 hour. Brush with reserved marinade; cover loosely with foil and roast for an additional 1 1/2 hours (or until internal temperature has reached 70 degrees C), brushing several times with marinade.
Remove roast from oven and let stand 15 minutes. Combine drippings with remaining marinade. In a small bowl combine cornflour with cold water, mix together and add mixture to marinade. Boil marinade mixture for 4 to 5 minutes, or until mixture thickens. Serve with roast.