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 160 degrees C.
Remove roast and marinade from refrigerator. Reserving marinade, remove roast and place in a 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 pan drippings with remaining marinade. In a small bowl combine cornstarch 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.
I forgot to cover the roast with foil and the top went black but still tasted delicious. It was easy to prepare and the house smelt delicious while it was cooking (and while we were eating)!! - 23 Apr 2012