In a pot over low heat, combine egg yolks, heavy cream, sugar, and cornstarch.
Turn the heat up to medium-high, whisking constantly to prevent any lumps. Allow the mixture to thicken, stirring until smooth.
Transfer the custard into three small bowls. Drop different colors of dye in each bowl and mix.
Cover the tops of each bowl with plastic wrap and press down onto the surface of the custard to prevent skin from forming. Chill in the refrigerator.
In a pot, combine the water, salt, and butter, bringing it to a boil. Add the flour and stir until the dough comes together in a ball. Remove from heat.
Add in the eggs, one a time, stirring until the dough becomes a paste. Add the vanilla and stir to combine.
Transfer the dough into a piping bag with a large round tip.
On a baking sheet lined with parchment paper, pipe 1-inch ( 2 ½ cm) mounds. (To form a more rounded shape, dab your finger with a little water and press down on the mound to eliminate the peak.)
Bake for 20 minutes until the pastry has risen considerably and the insides are dry.
Allow the pastries to cool. Then, using the tip of a knife, cut a small “x” into the bottom of each pastry and transfer (“x” side up) to a cooling rack. This will allow any excess steam or moisture to escape, ensuring your pastries maintain their shape.
Transfer the custard to a piping back alternating the colors in order for the custard to swirl inside the pastry.
Fill each pastry with custard.
In a bowl, melt the white chocolate chips and vanilla, and swirl teal, pink, and purple dye in order to create a purple marble shell.
Dip the top of each cream puff in the chocolate and garnish with sprinkles of your choice.