Roast the chiles - start by roasting your chiles in a dry, heavy-bottomed pan or skillet (I love my cast-iron skillet for this) set over medium heat. Simply add the dried chile peppers and roast for 1-2 minutes on each side. Do not over-toast your dried chilis as it will result in a bitter-tasting sauce. Remove from the skillet.
Bring the water or chicken stock to a boil. As you wait for it to boil, move on to the next step.
Remove seeds and soak - Using gloves (highly recommended!), gently remove the stems and slice heat chile open lengthwise. Remove the seeds and membranes (the spicy part of the chili) and discard. Transfer the chiles to a medium bowl.
Once the water (or broth) reaches a boil, carefully pour the water over the dried chile peppers. Cover the bowl and allow chiles to soak for at least 30 minutes.
Roast the vegetables - As the chile peppers soak, return the skillet to medium-high heat. Add the onion, tomatoes, and garlic cloves. Allow the vegetables to cook on each side until lightly browned on each side, approximately 3-4 minutes.
Blend it all together. Transfer the onion, tomatoes, garlic cloves, and peppers (once softened) into the bowl of a large blender. Add the soaking liquid, salt, Mexican oregano, and ground cumin. Blend until completely smooth (see note).
Cook the Sauce. Heat 1 tablespoon of olive oil to a medium pot over medium heat. Add the blended chile pepper sauce and bring to a low simmer. Reduce heat to low and simmer, uncovered, for approximately 25 minutes. If the sauce becomes too thick, add a little more water, as needed.
Season to taste. The sauce will be quite bitter at this point. While most enchilada sauces are not meant to taste super sweet or super salty (or super delicious on its own), you can easily balance some of the bitterness with salt, sugar and a small piece or two of semi-sweet chocolate (be sure to add the chocolate at the end of cooking).