Place potatoes in a large pot and cover with at least an inch of water. Bring to a boil and add 2 teaspoons salt. Boil until tender, about 15 to 20 minutes.
Drain potatoes. Let cool a few minutes and then quarter them while still hot. Place in a large bowl and drizzle vinegar over them. Let sit to cool.
Place eggs in a small pan and cover with an inch of water. Bring water to a boil and then boil for 8 minutes. Drain. Hit each egg on the side of the pot several times to crack the shell place eggs in a bowl of ice water. When cool, peel the eggs and cut them into slices.
In a medium bowl, stir together mayonnaise, sour cream, remaining 1 teaspoon salt, sugar and curry powder.
Add to bowl with potatoes along with egg, onion, and cilantro. Stir to mix. Cover and refrigerate at least 1 hour before serving.