Preheat oven to 220 degrees C. Line 2 large baking pans with parchment paper.
Combine cocoa and flour and sift them through a sieve.
Combine water and butter in a saucepan over medium heat and bring them to boil. Remove from heat and add the dry mixture. Whisk vigorously with a spoon until smooth. Set aside to cool for 10 minutes.
Gradually add the eggs, whisking well after each addition until completely absorbed in the pastry.
Transfer the pastry into a piping bag and pipe round profiteroles onto the prepared baking sheets.
Bake for about 20 minutes or until well puffed and brownish on top. Remove from the oven and make a small cut in each profiterole to allow the steam going out. Return to the oven for 2-3 more minutes and then transfer the profiteroles to a wire rack. Let them cool to room temperature before piping the filling.
In a large mixing bowl beat sour cream and powdered sugar until thick and creamy. Gradually add the melted chocolate, beating continuously.
Transfer the prepared filling to the fridge for ½ hour to thicken. Alternatively you can place it in the freezer for 10-15 minutes.
Cut each profiterole horizontally and fill them with the frosting, using a piping bag.
Combine milk and chocolate in a heatproof bowl. Place the bowl over a pan of simmering water and whisk continuously until the chocolate is melted completely and the mixture becomes homogeneous. Spoon the topping over the filled profiteroles.