Preheat oven to 375°F.
Place sweet potato cubes onto a baking sheet and toss with 1 tbsp. olive oil, salt and garlic. Roast 30-35 minutes, turning once with a spatula, or until potatoes are cooked through and begin to brown. Remove from oven and set aside (this can be done a day ahead).
Place pecans in a foil pie pan and place in oven still warm from the potatoes. Turn off heat and let pecans toast in turned-off oven about 15 minutes, until they turn golden brown and smell fragrant. Remove from oven to cool.
Cook rice; set aside to cool.
In a large mixing bowl, combine sweet potatoes, pecans, rice, carrots, celery, cranberries and onion. Stir to mix well. Sprinkle vinegar, 2 tbsp. olive oil, soy sauce, orange peel and black pepper over salad mixture and stir so that salad absorbs dressing. Serve at once, or chill and serve later.