The designation primary key originates in the pre-relational days of ISAM and other database types, and was unfortunately co-opted by Codd, Date, et al into relational terminology as part of the logical design. I say unfortunately because the large relational vendors then co-opted it back into the physical design as the specification of the performantly optimal foreign key lookup mechanism - a physical design attribute.
In consequence of this confusion, I avoid the term primary key whenever possible. There are Natural (or Business) Keys in the logical design, and Surrogate Keys in the physical design. The decision of whether or not to use a Surrogate Key on a particular table is a thorny one, but one can say one thing: if a table is known to never have more than about 50 to 200 rows the engine will probably never use an indexed lookup, and so a Surrogate Key is unnecessary. Needless to say, all Keys whether Natural or Surrogate should be enforced by Unique Indices, for both logical and physical design reasons.
However, it is a tenet of being a relational table, which is to say be in First Normal Form, that every table have a Natural (or Business) Key. As Surrogate Keys should never be exposed to users, such a Natural Business Key becomes the only means for the user to specify individual rows.
When one has chosen to implement a Surrogate Key then the index used to enforce that Key is nearly always best made the Clustered Index.
To address your specific concern: Yes, a clustered index on a large composite key will definitely impact performance of a table containing more than 100 or 200 rows. Enforce your (composite) Natural Key with a non-clustered index, and possibly add a few well chosen additional coverage fields to that index. Make the index enforcing your Surrogate Key the clustered index unless you have very good and well documented reason to do otherwise.
Reason is that:
Index height varies inversely with key width. A wide composite index can have one or two (or more!) levels less than a narrower index, requiring both more soft and hard page faults and more cache usage, which impact performance not only of lookups for the table itself but everything serviced by that engine.
Every lookup through a non-clustered index, unless covered by that index, then requires a further lookup into the clustered index via the clustered index key. It is really important to make the clustered index lookups efficient because they control the efficiency of all lookups.
Finally, remember to document all clustering and index decisions with their impact and rationale in both the logical and the physical design. Physical design decisions will regularly be under scrutiny by the DBA's for ways and means of tuning performance - but decisions made strictly in the logical design must never be changed for performance reasons. Help your DBA's out and clearly mark which are which.