Preheat the Oven:**
- Preheat your oven to 350°F (175°C). Grease and flour three 8-inch round cake pans or line them with parchment paper.
**Prepare the Dry Ingredients:**
- In a medium bowl, sift together the flour, cocoa powder, baking soda, and salt. Set aside.
**Make the Cake Batter:**
- In a large mixing bowl, beat the softened butter and granulated sugar together until light and fluffy, about 3-4 minutes.
- Add the eggs one at a time, beating well after each addition. Stir in the vanilla extract.
- In a separate small bowl, mix the buttermilk, vinegar, and a few drops of purple gel food coloring until you achieve your desired shade of purple.
- Add the dry ingredients to the butter mixture in three parts, alternating with the buttermilk mixture, beginning and ending with the dry ingredients. Mix just until combined.
- Gently fold in the sour cream until the batter is smooth and well-mixed.
**Bake the Cakes:**
- Divide the batter evenly between the prepared cake pans.
- Bake for 20-25 minutes, or until a toothpick inserted into the center of the cakes comes out clean.
- Allow the cakes to cool in the pans for 10 minutes, then turn them out onto a wire rack to cool completely.
**Prepare the Cream Cheese Frosting:**
- In a large mixing bowl, beat the softened cream cheese and butter together until smooth and creamy.
- Gradually add the sifted powdered sugar, one cup at a time, beating until fully incorporated and smooth.
- Stir in the vanilla extract. If the frosting is too thick, add 1-2 tablespoons of heavy cream to reach your desired consistency.
**Assemble the Cake:**
- Once the cakes are completely cooled, place one cake layer on a serving plate or cake stand.
- Spread a generous amount of cream cheese frosting over the top of the first layer.
- Place the second cake layer on top, and repeat the process. Finish with the third layer.
- Frost the top and sides of the cake with the remaining cream cheese frosting, smoothing it out with a spatula or cake scraper.
**Serve:**
- Decorate the cake with sprinkles, edible glitter, or fresh berries, if desired.
- Slice and serve at room temperature.