Bring a pot of salted water to a boil for the pasta.
Heat olive oil over medium-high heat in a medium saucepot, and saute garlic and onion until the onions become translucent, being careful not to burn them. Add crushed tomatoes, fresh parsley, marjoram and thyme. Create a slurry by gradually whisking cornstarch into 1/2 cup water. Add the slurry to the sauce to thicken and season, to taste, with salt and pepper. Bring to a boil, then reduce heat to low, cover and simmer about 20 minutes, checking periodically to make sure the sauce doesn't burn.
While the sauce is cooking, boil the penne until al dente, about 10 minutes. Drain through a colander and set aside.
Remove the sauce from the heat, and whisk in butter and cream cheese. Add the boiled pasta to the sauce and gently fold in along with the diced tomatoes. Transfer to serving dish and garnish with fresh parsley.