Bake potatoes at 450° for 1 hour or until tender. Allow to cool to touch.
Cut potatoes in half lengthwise; scoop out pulp, and place in a bowl, leaving shells intact. Set pulp and shells aside.
Melt butter in a small skillet over medium-high heat; add chopped ham, diced onion, and minced garlic, and sauté until onion is tender.
Mash potato pulp; stir in ham mixture, sour cream, salt, and pepper. Stuff shells with potato mixture; sprinkle evenly with Parmesan cheese. Place in a 13- x 9-inch pan or casserole dish.
Bake at 350° for 25 to 30 minutes. Garnish, if desired.