Place potatoes in a large pot or Dutch oven and cover with cold salted water by 1 inch. Bring to a boil and simmer until just tender, about 15 minutes; drain well.
Place potatoes in a single layer onto a baking sheet and stir in vinegar while the potatoes are still hot; let cool.
In a large bowl, whisk together mayonnaise, sour cream, Dijon, lemon juice and lemon zest; season with salt and pepper, to taste.
Stir in celery, capers, parsley, dill, green onions and potatoes until well combined.
Cover and chill for at least 4 hours to 2 days.
Serve, topped with eggs.
Notes
Cut in uniform pieces. Cut the potatoes into similar-sized pieces to ensure that they all cook through at the same time (and for a consistent bite in the final dish). If the potatoes vary in size, the smaller chunks will turn to mush while the larger chunks become tender.
Start in cold water. Never drop the potatoes in boiling water. Instead, add the potatoes to a pot first, then add cold salted water. This will ensure evenly cooked and seasoned potatoes from the inside out.
Avoid overcooking the potatoes. The potatoes should be fork-tender but still hold their shape. Overcooked potatoes will turn to mush when mixed with the dressing.
Add vinegar while warm. Drain the hot potatoes and spread them on a baking sheet, gently tossing with a splash of apple cider vinegar. The warm potatoes will absorb the tangy acid, adding more robust flavors to balance the rich, creamy dressing.
Let it rest. Potato salad tastes better the longer it sits! Let it sit for at least 4 hours, preferably overnight to really let the flavors meld and intensify.
Freshen the dressing. Potatoes tend to absorb a lot of liquid the longer it sits. If the potato salad looks a bit dry the next day, stir in a little bit of milk or mayonnaise to bring the creaminess back.
Add the eggs just before serving. Whether it's soft boiled or hard boiled eggs, cook and add the eggs to the salad right before serving to maintain their texture and shape.