var weight = new Dictionary() { { "P", 1 }, { "I", 2 }, { "N", 3 } };
var result = OBJList.OrderBy( a => weight[ a.Name ] ).ToList();
の方が好み。エラーチェックは無視。