In a large bowl, dissolve yeast in warm milk. Add the egg, oil and salt and 2 cups of flour. Beat until smooth. Stir in enough remaining flour to form a stiff dough. Place in a greased bowl, turning once to grease top. Cover and let rise in a warm place until doubled, about 1 hour.
Meanwhile, in a large skillet, saute onion in oil until tender. Add the tomatoes, garlic, salt and pepper. Cook over medium heat until liquid is absorbed, about 30 minutes. Remove from the heat. Stir in the ham, vinegar and oregano. Cool.
Punch dough down. Turn onto a lightly floured surface; roll into a 14x12-in. rectangle. Spread filling over dough to within 1/2 in. of edges. Roll up jelly-roll style, starting with a long side; pinch seam to seal and tuck ends under. Place seam side down on a greased baking sheet. Do not let rise.
Bake at 375° for 18-22 minutes or until golden brown. Remove from pan to a wire rack. Serve warm. Refrigerate leftovers.