Preheat the oven to 375°F and lightly coat a 2-quart baking dish with cooking spray.
In a skillet over medium heat, melt the butter. Add the chopped Vidalia onions and cook, stirring occasionally, until softened and lightly caramelized.
In a large bowl, combine the cream cheese, Swiss cheese, Parmesan cheese, and milk. Stir until smooth.
Fold the cooked onions into the cheese mixture and season with black pepper.
Spread the mixture evenly into the prepared baking dish.
Bake for 30 minutes, or until hot and golden brown on top.
Let cool slightly before serving.
Notes
Vidalia onions give this dip its signature sweet flavor, but yellow onions can be used if needed.
Serve warm for the best texture.
Store leftovers in an airtight container in the refrigerator for up to 3 days and reheat in short intervals.