Penn Township is in west-central Cumberland County. The northern two-thirds of the township are in the Cumberland Valley, while the southern third extends up the slopes of South Mountain. Yellow Breeches Creek, a tributary of the Susquehanna River, flows from west to east across the center of the township.