Boil potatoes and carrots in their skins until tender but not mushy, about 20-25 minutes depending on size. Cool completely.
Peel and dice the potatoes and carrots into uniform 1/4-inch cubes.
Thaw frozen peas by placing them in a colander and rinsing under cold water. Pat dry with paper towels.
Hard-boil the eggs, cool in ice water, peel, and chop into small pieces.
In a large bowl, gently combine diced potatoes, carrots, peas, pickles, ham, and eggs.
In a separate bowl, whisk together mayonnaise, sour cream, salt, and pepper until smooth. Add optional Dijon mustard if using.
Pour the dressing over the salad mixture gradually, folding gently with a spatula to maintain the integrity of the ingredients.
Taste and adjust seasoning as needed.
Cover and refrigerate for at least 2 hours, preferably 4-6 hours or overnight, to allow flavors to develop.
Before serving, gently stir once more and garnish with fresh dill if desired.