Heat 3 inches water and vinegar in a wide, shallow saucepan or Dutch oven over medium high heat. Bring to a boil; reduce heat and simmer.
Crack each egg into a separate bowl or small ramekin. Working carefully, gently slide each egg into the saucepan.
Cook, undisturbed, until whites are cooked through, about 3-5 minutes. Using a slotted spoon, carefully remove eggs and transfer to a paper towel-lined plate.
Heat a large cast iron skillet over medium high heat. Working in batches, cook ham until lightly browned and heated through, about 1-2 minutes per side.
Place English muffins open-faced on a platter. Top evenly with ham and eggs, drizzling the tops with hollandaise sauce, garnished with chives and dill, if desired.
Serve immediately.
for the hollandaise sauce
Combine egg yolks, lemon juice, salt and cayenne pepper in a blender until pale yellow in color, about 30-60 seconds. With the motor running, add butter in a slow stream until emulsified; season with salt and pepper, to taste.
Notes
Use vinegar when poaching eggs. Add a splash of vinegar to the water when poaching eggs - this will allow the eggs to hold up its shape.
Simmer gently. Keep the water to a gentle simmer when poaching the eggs. This will prevent the eggs from breaking apart, overcooking or turning rubbery.
Use room temperature egg yolks for the hollandaise. This will prevent the hot melted butter from solidifying when blending.
Add the hot melted butter slowly. This will allow for proper emulsification to build a rich, creamy sauce without separating.
Toast the English muffins. A golden-crisp toasted English muffin is key to hold up the toppings and to prevent sogginess.