In the p-piercing problem, a set S of n d-dimensional objects is given, and one has to compute a piercing set for S of size p, if such a set exists. We consider several instances of the 3-piercing problem that admit linear or almost linear solutions: (i) If S consists of axis-parallel boxes in Rd, then a piercing triplet for S can be found (if such a triplet exists) in O(n log n) time, for 3 less than or equal to d less than or equal to 5, and in O(n([d/3]) log n) time, for d greater than or equal to 6. Based on the solutions for 3 less than or equal to d less than or equal to 5, efficient solutions are obtained to the corresponding 3-center problem - Given a set P of n points in Rd, compute the smallest edge length lambda such that P can be covered by the union of three axis-parallel cubes of edge length lambda. (ii) If S consists of homothetic triangles in the plane, or of 4-oriented trapezoids in the plane, then a piercing triplet can be found in O(n log n) time.