Preheat oven to 350 degrees. Line 2 12-cup muffin tins with parchment liners.
In a large bowl, beat the oil and sugar for 2-3 minutes until combined. Whip in the eggs, one at a time, then the vanilla and yogurt. Add the flour, baking powder, baking soda, and salt. With the mixer running, stream in the rose water, then the buttermilk until the batter is just combined. Do not overmix.
Fill each cupcake tin 2/3 of the way with batter. Depending on what your heart says 2/3 of the way full is, you will get 22-24 cupcakes. Bake for 25-30 minutes until an inserted toothpick emerges with just a few moist crumbs. Cool 10 minutes in the pans, then transfer the cupcakes to wire racks. Cool completely.
Make the frosting. Whip the butter, vanilla, and rose water until combined, then add 4 1/2 cups of the powdered sugar and 1/4 cup of cream. Crank the mixer to high, and beat until very light and fluffy, about 2-3 minutes. You may need an extra tablespoon of two of cream to achieve the desired texture. Scrape down the sides of the bowl with a spatula, as needed, to properly incorporate all the ingredients.
Scoop half of the buttercream into a separate bowl. Add 2-3 drops of pink dye to one. Stir with a spoon until the dye is evenly distributed.
Pipe each cupcake with the pink buttercream in a rosette pattern. Then, switch to the white when the pink is almost through to get a nice swirl on some of the cakes. Google will do a far better job showing you the technique than I would.
Notes
*To store: Baked, unfrosted cupcakes will keep up to 3 days in the fridge, after which I would decorate and serve within 2 days. Finished cupcakes, then, will keep for up to 5 days.