In a large mixing bowl, combine flour, sugar, cocoa powder, instant yeast, and salt.
Warm the whole milk until it's comfortably warm, then add the butter, vegetable oil, and vanilla extract. Allow it to cool if necessary until it's lukewarm.
Create a well in the dry ingredients and add the milk mixture, along with the egg and water.
Mix by hand or with a stand mixer until you have a soft, slightly sticky dough. Avoid adding more flour. Add a few drops of red gel colorant food and knead it until it becomes smooth and all the dough is colored. This should take about 6-8 minutes. Cover the dough with plastic wrap and let it rise for 1½ to 2 hours, or until it has doubled in size.
While the dough is rising, mix the brown sugar and ground cinnamon in a small bowl for the filling.
Once the dough has doubled, roll it out into a 15x10-inch rectangle on a floured surface. Spread the softened butter evenly over the dough, and then sprinkle the brown sugar and cinnamon mixture. Roll the dough tightly from the long edge closest to you and seal the seam firmly.
Cut the rolled dough into 8-12 pieces using a sharp knife or a piece of string. Arrange the buns in a 14 x 8 inch pan lined with parchment paper and lightly greased. Cover them with plastic and let them rise for another 45-60 minutes, or until doubled in size.
Preheat your oven to 375°F (190°C) and bake the rolls for 18-22 minutes, or until they are golden brown and cooked in the center. Allow them to cool while you prepare the frosting.
For the frosting, cream the cream cheese and butter until smooth, and then gradually add the powdered sugar, followed by the vanilla extract. Beat until smooth.
Frost the cinnamon rolls while they are still slightly warm but not too hot to prevent the frosting from melting. Serve immediately or store them wrapped in the refrigerator for up to 5 days.