In a large skillet, melt the butter. Add the onions and cook over moderate heat, stirring occasionally, until golden, about 25 minutes. Add 2 tablespoons of water and cook, stirring, until the water has evaporated, about 3 minutes. Let the onions cool slightly, about 15 minutes.
Transfer the onions to a cutting board and coarsely chop. In a large bowl, mix the sour cream with the cream cheese, parsley, onion powder and Worcestershire sauce until smooth. Stir in the onions and season with salt and pepper. Serve at room temperature.
The onion dip can be covered and refrigerated for up to 3 days.