I actually don't marinate my fajita meat (I like skirt steak, but flank steak or flap meat are good too). Instead, I use the ingredients that most people would probably use to make a marinade and simply make a sauce of it, which I pour over the meat after it has been grilled and sliced. Much more flavor bang for my buck that way. I use lime juice, chipotles in adobo, olive oil, a pinch of sugar, cumin, garlic, chili powder, salt, etc. - I change it up a bit depending on what's in my pantry. What I end up with is usually about the thickness of ketchup, and a couple of spoonfuls mixed with the meat juices makes the perfect coating for the meat.
I like to use flank steak too. My favorite marinade recipe, which I think I got from some Tyler Florence recipe years and years ago, for the steak is all of the following ingredients, blended with an immersion blender or regular blender:
Juice from 1 orange
Juice from 2 limes
1/4 c. olive oil
2 garlic cloves
3 chipoltes in adobo sauce
3 T chopped cilantro
1 teaspoon ground cumin
1 teaspoon salt
Blend it up and toss the steak in.
I'm not a fan of marinating fajita meat. I don't see a reason to. The meat will be thinly sliced so any additional flavors I'd like to be in the fajita I can simply add after the meat comes off the heat.
A few of the advantages of not marinating the meat is the flavors of the lime juice and cilantro are fresher and pop more as well as it saves work and time.
As far as the meat goes, I like flank steak. Many others like skirt steak.
After the beef comes off the heat, let it rest for about 10 minutes then slice it against the grain, on the bias. Build your fajita, adding fresh lime juice and fresh chopped cilantro.