Bring a large pot of salted water to a boil. Add potatoes and cook until tender but still firm, about 15 minutes. Drain, shock in cold water, and reserve.
Place eggs in a saucepan and cover with cold water. Bring water to a boil and immediately remove from heat. Cover and let eggs stand in hot water for 12 minutes. Remove eggs from hot water; shock in ice water. Peel, then chop into small, bite-sized pieces.
IF USING BACON: Place bacon on parchment paper-lined sheet pans and bake in 350* F preheated oven until crispy, about 20-30 minutes. Drain well and chop.
Chop cooled potatoes, leaving skin on. Add potatoes, eggs, bacon, onion, and celery to a large bowl. Gently stir in mayonnaise, sour cream, vinegar, chopped parsley, salt, and pepper. Chill in the refrigerator for 1 hour before serving. Garnish with dill.