Put the chicken in a large pot with the celery, carrot, leek and peppercorns. Add about 3 litres(104 fl oz/12 cups) of water and some salt and bring to the boil. (If the water doesn’t all fit in your pot, put in as much as you can and add the rest when it has reduced.) Skim the surface with a slotted spoon, lower the heat, and simmer for 1½ hours. Lift the chicken out onto a plate to cool and strain the broth into a clean pan.
Pick all the chicken meat from the bones. Chop about 150 g(5½ oz) of the chicken meat into longish strips and put the rest of it into a blender. Chop until it is almost a purée and keep on one side for now.
Melt the butter in a smallish pan, then add the flour and stir with a wooden spoon for a few minutes until it begins to turn golden. Add a ladleful of hot broth and mix in well and, when the flour has absorbed this, whisk in another ladleful of broth. Simmer for about 10 minutes, whisking every now and then so that it is very smooth. Add the Marsala and then pour it all back into the large broth pan together with all the chicken meat. Simmer for another 10 minutes.
Whip the egg in a small bowl. Add a ladleful of the hot broth to the egg, whisking to avoid scrambling it, and then mix this back into the broth. Return the pan to the lowest possible heat and stir with a wooden spoon for a minute or so to just cook the egg through.
Serve immediately, scattering a heaped tablespoon of parmesan or pecorino over each bowl.