For the pimento cheese, cut the soft cream cheese into quarters and place in a mixing bowl. Add the shredded cheese, pimento, and onion, if desired. Blend with an electric mixer or with a wooden spoon until incorporated. Stir in the mayonnaise and season with pepper. Cover the bowl with plastic wrap and chill until firm, about 2 hours or overnight.
Remove the pimento cheese from the fridge. With a small scoop or large spoon, scoop out about 20 balls that weigh about 1 ounce each and place them on a baking sheet. Return to the fridge.
When ready to fry, pour the vegetable oil into a 10-inch cast iron skillet or heavy pot. Heat over medium-high until the oil reaches 350 degrees F. Remove the pimento cheese balls from the fridge. Pour the breading into a small bowl. Crack the egg into another small bowl and stir with a fork to break up the yolk. Place each pimento cheese ball into the breading, roll it around, and then dip in the egg. Place back in the breading to roll around and coat well. When the oil is hot, drop three to four balls at a time into the oil and let fry until well browned, 1 minute or less. Remove with a slotted spoon to a rack to keep warm. Repeat with the remaining pimento cheese balls.
Serve them at once, sprinkled with chopped fresh parsley or cilantro.