In a large bowl, gently combine the diced peaches, drained crushed pineapple, and miniature marshmallows. Stir to evenly distribute the ingredients.
Sprinkle the instant vanilla pudding mix evenly over the fruit and marshmallow mixture from Step 1. Stir the mixture thoroughly until all the fruit and marshmallows are evenly coated with the pudding mix.
Gently fold in the whipped topping into the mixture from Step 2, mixing just until the ingredients are well integrated and creamy. I find using a spatula helps keep the salad light and fluffy.
Carefully mix in the shredded coconut and, if using, the chopped pecans. Stir just enough to distribute everything evenly but avoid overmixing.
Cover the bowl and refrigerate the salad for at least 1 hour before serving. Chilling allows the flavors to meld and the texture to set nicely. For an even better flavor, I sometimes let it chill overnight.