Spread one side of each bread slice with the butter. On a clean work surface, place 4 slices buttered-side down. Divide the cheese and ham among those 4 slices. Place the remaining 4 slices of bread on top, buttered-side up.
Heat a grill pan or a 12-inch skillet with a lid over medium heat until warm. Place the sandwiches in the skillet (in batches if necessary) and cook, covered, 3 to 5 minutes on each side, or until cheese melts and bread is golden brown.
Cut each sandwich in half; slide in 1 or 2 tomato slices and serve hot.