Combine first 7 ingredients in a large bowl. Place snapper fillets in a 13- x 9-inch baking dish; pour parsley mixture evenly over fillets. Cover and chill 2 hours, turning once.
Combine tomato, garlic, and cumin in a large saucepan; place over medium heat. Bring to a boil; reduce heat, and simmer, uncovered, 8 minutes or until slightly thickened, stirring occasionally. Remove from heat, and add salt and pepper. (This mixture may be made 1 day ahead and chilled. Reheat before using.).
Heat 1/4 cup olive oil in a Dutch oven over medium heat. Add carrot and onion; top with tomato mixture. Cover and cook over medium heat 12 minutes or until carrot is tender. Remove from heat. Place fillets and parsley marinade on top of tomato mixture. Spread preserved lemon evenly over fillets. Sprinkle with olives. Cover and cook over medium heat 10 minutes or until fish flakes with a fork. Garnish, if desired.