Heat oil in a large pot or Dutch oven over medium heat. Add sofrito and sauté for about 2–3 minutes until fragrant.
Add pigeon peas (gandules), tomato sauce, cumin, oregano, garlic powder, black pepper, salt, and annatto powder (or sazón). Cook and stir for another 2–3 minutes.
Stir in rinsed rice, coating each grain thoroughly with the seasoning mixture.
Add water or chicken broth, stirring gently. Bring to a boil, then reduce heat to low.
Cook uncovered until most liquid evaporates and rice bubbles slightly (about 8–10 minutes). Lower heat to very low, cover tightly, and cook for an additional 20 minutes.
Remove from heat and let rice rest, covered, for about 10 minutes.
Fluff rice gently with a fork, garnish with fresh cilantro if desired, and serve hot.