To make filling, sweat onion in a covered non-stick skillet over medium heat just until soft, about 5 minutes. Add a little water if necessary to prevent scorching.
Combine onion with all remaining ingredients and mix well. Set aside.
To make tamales, combine all dry ingredients and mix well. Combine water and oil and add to dry ingredients. Blend until smooth. Blend in sour cream and knead as you would bread dough.
Divide dough into 6 (1/3-cup) balls, about 3 ounces each. Press each ball flat between two pieces of wax paper and smooth out into a circle 7 inches in diameter with your fingers.
Remove the piece of wax paper on the top and place 1/3 cup of filling mixture in the center of each circle of dough. Using the bottom sheet of paper, lift and fold one edge of the dough over the top of the filling. Repeat with the other edge of the dough to make a tubular envelope and press firmly to seal the dough tightly around the filling.
Roll each tamale in corn husk or plastic wrap and twist each end firmly, tying if necessary to prevent leakage.
Steam the tamales over rapidly boiling water for 15 minutes.