if you only have a layer2 engine to provide QoS, then you can classify traffic at L2 using destination MAC address, VLANs and marking L2 CoS (class of service) values.
(using only the switching queues on the port)
you will not be able to use L3 IP precedence or DSCP values to classify or mark traffic.
(since you have no PFC)
since PQ, WFQ and CBWFQ require the PFC, then you would be correct in your statement that you cannot use either of these without the PFC.
please see the following link for the CCO supplied answer to 'can you implement QoS without a PFC?':
http://cisco.com/en/US/products/hw/switches/ps708/products_qanda_item09186a00804d2e3a.shtml#q7