Place the ham in a large pot or Dutch oven and cover with cold water; bring to a boil over medium high heat.
Remove ham and drain water (you are trying to remover salt).
Return ham to pot along with onions, carrots, celery, bay leaf and peppercorns; cover with cold water and bring to a boil over medium high heat.
Skim surface with a slotted spoon, cover, reduce heat, and cook 1 hour and 20 minutes.
Meanwhile, make the parsley sauce by whisking the butter, flour, and milk in a saucepan, over medium heat, until thickened and smooth, about 1 to 2 minutes; season with salt and pepper and add parsley.
Once the meat is done, remove the rind (skin) and excess fat; slice.