Heat the oil in a deep frying pan to 360 degrees F.
To make the churro dough, heat the water, butter, salt and sugar to a rolling boil in a 3-quart saucepan. Add the flour and stir vigorously over low heat until mixture forms a ball, approximately 1 minute and remove from heat. Beat eggs until smooth and add to the saucepan while stirring the mixture.
Spoon the mixture into a piping bag with a star tip (we used an 826 Ateco). Squeeze 4-inch strips of dough into the hot oil. Fry 3 or 4 strips at a time until golden brown, turning once, about 2 minutes on each side. Drain on paper towels. Mix the sugar and cinnamon in a bowl and roll the churros in the sugar mixture if desired. Set aside until ready to serve.
To prepare the hot chocolate for dipping, place the chocolate and half of the cream in a saucepan over medium low heat and cook, stirring, until the chocolate has melted. Dissolve the cornstarch in the remaining cream and whisk into the chocolate with the sugar. Cook on medium low heat, whisking constantly until the chocolate thickens, approximately 5-10 minutes. Remove and whisk until smooth. Pour chocolate into cups and serve with churros immediately.