Cut the lamb into 1-inch cubes. Season the lamb cubes with salt and pepper. Toss the meat with the juice from half of a lemon. Mix well.
In a large saute pan, over medium heat, add the oil and butter. When the oil/butter is hot, add the lamb, onions, and ham, cook until the lamb is brown on all sides, about 6 to 8 minutes.
Sprinkle the flour over the lamb and continue to cook for 1 minute.
Stir in the wine and bring to a simmer, cover and cook for 30 minutes.
In a small mixing bowl, beat the egg yolks. Add the lemon zest and the juice from the remaining lemon. Slowly stir the egg mixture into the lamb and cook for 2 minutes, stirring constantly so the eggs won't curdle. Remove from the heat and stir in the parsley and marjoram. Season with salt and pepper.
Spoon the lamb onto serving plates and serve immediately.