Preheat oven to 450°F. Combine asparagus and squash in a large baking dish. Add oil and season well with salt and pepper. Toss to coat vegetables. Roast, stirring vegetables occasionally, until lightly browned and softened, about 30 minutes.
Cook penne according to package directions. Add peas to pasta cooking water about 5 minutes before pasta will be done. Drain pasta and peas in a colander.
Return pasta and peas to pot. Stir in ham and cream. Cover pot and set aside until pasta has absorbed some cream and ham is warmed through, about 2 minutes.
Stir in roasted asparagus and squash. Season with salt and pepper and serve with Parmesan.